User Tools

Site Tools


tutorials:auth:auth_db

This is an old revision of the document!


Note: This document is work in progress and yet unfinished!

This guide is designed to illustrate how to setup auth_db and usrloc to do digest authentication using a database backend. I will be using a postgresql database in this example.

The following modules are required: usrloc, registrar, auth, auth_db

General preparations

You'll probably want to setup your database and add a few users. I will briefly go over how to setup the tables using the schema provided with kamailio.

Modules: auth, auth_db, usrloc, registrar

loadmodule "auth.so"
loadmodule "auth_db.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
modparam("auth_db|usrloc", "db_url", DB_URL)
modparam("auth_db", "use_domain", 1)
modparam("auth_db", "calculate_ha1", 1)
modparam("usrloc", "db_mode", 3 )
modparam("usrloc", "desc_time_order", 1 )
modparam("usrloc", "nat_bflag", 1 )
modparam("usrloc", "timer_interval", 5 )
modparam("usrloc", "use_domain", 1)
modparam("nathelper|registrar", "received_avp", "$avp(s:rcv)")
# -------------------------  request routing logic -------------------
# main routing logic

route {
        # per request initial checks
        route(SANITY_CHECK);

        # CANCEL processing
        if (is_method("CANCEL")) {
                if (t_check_trans()) {
                        t_relay();
                }
                exit;
        }

        route(CHECK_SOURCE_IP);

        ##################################
        ### HANDLE SEQUENTIAL REQUESTS ###
        route(WITHINDLG);

        ###############################
        ### HANDLE INITIAL REQUESTS ###
        t_check_trans();

        route(REGISTER);

        route(INVITE);

        route(RELAY);
}
tutorials/auth/auth_db.1418161796.txt.gz · Last modified: 2014/12/09 22:49 by eschmidbauer