[OpenSIPS-Devel] SF.net SVN: opensips:[5185] trunk/modules/drouting

Bogdan-Andrei Iancu bogdan at voice-system.ro
Wed Jan 21 10:03:26 CET 2009


Revision: 5185
          http://opensips.svn.sourceforge.net/opensips/?rev=5185&view=rev
Author:   bogdan_iancu
Date:     2009-01-21 09:03:23 +0000 (Wed, 21 Jan 2009)

Log Message:
-----------
Dynamic Routing enhancements:

1) attributes for the gateways - the definition of the GWs contain a attribute fields use to put custom attribute string. When the GW will be used, the attribute string is available in script.
The idea is to use this atrbute string for stroing GW specific info, like if supports SST, the SST value, vustom timeout to be used for the GW, etc.

2) blackist based on the GW IPS - the module allows definition of various blacklists to include the IPs of some types of gateways. This blacklists are to be used to prevent malicious forwarding to GWs (based on DNS lookups) when the script logic does none-GW forwarding (like foreign domains).
The blacklists are automatically generated and update by the module, based on the GW defined via DB.

3) lists of GWs - a new table "dr_gw_lists" allows definition of lists of gateways. This pre-defined list of gateways can be directly used from the rules definition and avoid keep listing the same set of gateways for multiple rules
This change is backward compatible and does not affect the behaviour of the module; it is just about how to define data to be used for routing

4) new function "goes_to_gw" - function returns true if the destination of the current request (destination URI or Request URI) points (as IP) to one of the gateways. There no DNS lookups done if the domain part of the URI is not an IP.

5) fast startup - the initial load of the routing data from DB is not done in init_module anymore (as it delays the overall starup of opensips). The load is doen by the child rank 1.

Modified Paths:
--------------
    trunk/modules/drouting/README
    trunk/modules/drouting/doc/drouting_admin.xml
    trunk/modules/drouting/dr_load.c
    trunk/modules/drouting/dr_load.h
    trunk/modules/drouting/drouting.c
    trunk/modules/drouting/prefix_tree.h
    trunk/modules/drouting/routing.c
    trunk/modules/drouting/routing.h


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Devel mailing list