Hello Hakan,

I have attached my openser.cfg file if you can see any error:

DB entry is:

select * from trusted where src_ip = '82.113.11.12';
+--------------+-------+--------------+------+
| src_ip       | proto | from_pattern | tag  |
+--------------+-------+--------------+------+
| 82.113.11.12 | udp   | ^sip:00*@*   | NULL |
+--------------+-------+--------------+------+


=====

# ------------------ module loading ----------------------------------

loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"


loadmodule "/usr/local/lib/openser/modules/permissions.so"
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/nathelper.so"
loadmodule "/usr/local/lib/openser/modules/uri_db.so"
loadmodule "/usr/local/lib/openser/modules/uri.so"
loadmodule "/usr/local/lib/openser/modules/dispatcher.so"


# ----------------- setting module-specific parameters ---------------

#---- Permissions_Module_Parameters -----
modparam("permissions", "db_mode", 0)
modparam("permissions", "trusted_table", "trusted")
modparam("permissions", "source_col", "src_ip")
modparam("permissions", "proto_col", "proto")
modparam("permissions", "from_col", "from_pattern")

modparam("permissions", "db_url", "mysql://openser:openserrw@localhost/openser")
# -- usrloc params --

modparam("usrloc", "db_mode",   0)

# Uncomment this if you want to use SQL database
modparam("auth_db|uri_db|usrloc", "db_url", "mysql://openser:openserrw@localhost/openser")

modparam("auth_db", "use_domain", 1)
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")

modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")

modparam( "registrar", "append_branches", 1 )
modparam( "registrar", "desc_time_order", 1 )
modparam( "registrar", "nat_flag", 6 )

modparam("usrloc", "db_mode", 2)

##modparam("rr", "enable_full_lr", 1)
####### end old ser

# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")

# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)

# -------------------------  request routing logic -------------------

# main routing logic

route {

         ###########
        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483", "Too Many Hops");
                return;
        };


        if (msg:len > max_len) {
                sl_send_reply("513", "Message Overflow");
                return;
        };

       ###############
        if ( method != "REGISTER" ) {
                record_route();
        };

        if ( nat_uac_test( "3" ) ) {
                setflag( 6 );
                force_rport();
                fix_nated_contact();
        };

        if ( method=="INVITE" ) {
                force_rtp_proxy();
        };

        if ( loose_route() ) {
                route( 1 );
                return;
        };

        if ( uri == myself ) {
                if ( method == "REGISTER" ) {
                        if ( ! www_authorize( "", "subscriber" ) ) {
                                www_challenge( "", "0" );
                                return;
                        };

                        if ( ! check_to() ) {
                                sl_send_reply( "403", "Authentication user must match username" );
                                return;
                        };

                        save( "location" );
                        return;
                };

                if (allow_trusted()) {

                        if ( uri =~ "sip:00[1-9]+@.*" ) {

                                if ( src_ip ==  82.113.11.12){
                                        prefix("2333");
                                };

                                prefix("11");
                                ds_select_dst( "1", "0" );
                                route( 1 );
                                return;
                        }

                };


        } else {
                if ( method == "INVITE" ) {
                        sl_send_reply( "403", "Host part forbidden" );
                        return;
                };
        };

        route( 1 );
}

route[1] {
        t_on_reply( "1" );
        if ( ! t_relay() ) {
                sl_reply_error();
        };
}

onreply_route[1] {
        if ( status =~ "(180)|(183)|2[0-9][0-9]" ) {
                if ( ! search( "^Content-Length:\ +0" ) ) {
                        force_rtp_proxy();
                };
        };

        if ( nat_uac_test( "3" ) ) {
                force_rport();
                fix_nated_contact();
        };
}
 
 
##=================

-----Original Message-----
From: hakanyasti@gmail.com
To: ronn100200@aim.com; users@openser.org
Sent: Mon, 14 Aug 2006 8:10 AM
Subject: Re: [Users] Module for Config files

You can use permissions module.
 
 
 
http://www.openser.org/docs/modules/1.1.x/permissions.html
 
this is an example of with trusted_table.....
 
 
loadmodule "/usr/local/lib/openser/modules/permissions.so"

modparam("permissions", "db_url", "postgres or mysql://username:password@localhost/dbname")
 
#---- Permissions_Module_Parameters -----
modparam("permissions", "db_mode", 0)
modparam("permissions", "trusted_table", "trusted")
modparam("permissions", "source_col", "src_ip")
modparam("permissions", "proto_col", "proto")
modparam("permissions", "from_col", "from_pattern")
 
route[3] {
 
        # -----------------------------------------------------------------
        # INVITE Message Handler
        # -----------------------------------------------------------------
 
        if (allow_trusted()) {
                        route(4);    # NAT Traversal Section
                        route(5);    # PSTN Handler 
                        return;
        };
 
Welcome to psql 7.4.13, the PostgreSQL interactive terminal.
 
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit
dbname=> select * from trusted;
     src_ip      | proto |         from_pattern         
-----------------+-------+-------------------------------
 10.1.1.5       | udp   | ^sip:120*@*
 
 
Regards,
Hakan.
 
----- Original Message -----
From: ronn100200@aim.com
To: users@openser.org
Sent: Monday, August 14, 2006 5:39 PM
Subject: [Users] Module for Config files

Hi All,

I am using  the following if statement  to  allow certain calls from  pre authorized IPs.

if ( method == "INVITE" && src_ip != 195.xxx.xxx.xx && src_ip != 195.xxx.xxx.xx && src_ip != 195.xxx.xxx.xx && src_ip != 195.xxx.xxx.xx) {

                     
My issues is the number of IPs that need to be authorized this way is getting large and was wondering if there's a module that can be used to read config date from a config file ?

regards,

Ron

Check Out the new free AIM(R) Mail -- 2 GB of storage and industry-leading spam and email virus protection.

_______________________________________________
Users mailing list
Users@openser.org
http://openser.org/cgi-bin/mailman/listinfo/users