User Tools

Site Tools


tutorials:auth:auth_db

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorials:auth:auth_db [2014/12/09 22:48]
eschmidbauer
tutorials:auth:auth_db [2014/12/09 22:55] (current)
eschmidbauer
Line 1: Line 1:
 **Note: This document is work in progress and yet unfinished!** **Note: This document is work in progress and yet unfinished!**
 +
 +written by Emmanuel Schmidbauer (eschmidbauer@gmail.com)
  
 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.  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. 
Line 31: Line 33:
 </code> </code>
  
 +<code>
 +# -------------------------  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);
 +}
 +</code>
 +
 +<code>
 +route[REGISTER]
 +{
 +        if (is_method("REGISTER")) {
 +                # auth user/pass
 +                if(!www_authenticate("$fd", "user_extension")) {
 +                        www_challenge("$fd", "1");
 +                }
 +
 +                if (!save("sip_registration")) {
 +                        sl_reply_error();
 +                }
 +                exit;
 +        }
 +
 +}
 +</code>
 +
 +<code>
 +# Handle INVITE + REFER
 +route[INVITE]
 +{
 +        # record routing for dialog forming requests (in case they are routed)
 +        # remove preloaded route headers
 +        remove_hf("Route");
 +        if (is_method("INVITE|REFER")) {
 +                record_route();
 +               # auth user/pass
 +                if (!proxy_authenticate("$fd", "user_extension")) {
 +                        proxy_challenge("$fd", "1");
 +                        exit;
 +                }
 +        }
 +}
 +</code>
tutorials/auth/auth_db.1418161692.txt.gz ยท Last modified: 2014/12/09 22:48 by eschmidbauer