[Serusers] acc module + database

Jiri Kuthan jiri at iptel.org
Fri Dec 12 22:40:01 CET 2003


Hey,

modules/acc/README:

---
   Support for SQL and RADIUS works analogously. You need to
   enable it by recompiling the module with properly set defines.
   Uncomment the SQL_ACC and RAD_ACC lines in
   modules/acc/Makefile. 
---

-jiri

At 10:26 PM 12/12/2003, Darren Sessions wrote:

>Hey All,
>
>I am trying to get all missed calls to post to the MySQL database. However, I am getting the following error when starting 
>
>up SER.
>
> 
>
>0(1748) set_mod_param_regex: parameter <db_flag> not found in module <acc>
>
>0(1748) parse error (54,29-30): Can't set module parameter
>
>0(1748) set_mod_param_regex: parameter <db_url> not found in module <acc>
>
>0(1748) parse error (55,59-60): Can't set module parameter
>
>0(1748) set_mod_param_regex: parameter <db_missed_flag> not found in module <acc>
>
>0(1748) parse error (56,36-37): Can't set module parameter
>
>ERROR: bad config file (3 errors)
>
> 
>
>I've tried recompiling the "acc" module (the original was from the Solaris package for SER 0.8.12).
>
>Anyone know why I am getting these errors? My config is basically copied directly from the acc module examples.
>
>I have also attached my ser.cfg file below.
>
>Thanks for your help!
>
>Darren Sessions
>
>----
>
>#
>
># $Id: pstn.cfg,v 1.2 2003/06/03 03:18:12 jiri Exp $
>
>#
>
># example: ser configured as PSTN gateway guard; PSTN gateway is 
>
>located
>
># at 192.168.0.10
>
>#
>
># ----------- global configuration parameters ---------------------
>
>---
>
>debug=3 # debug level (cmd line: -dddddddddd)
>
>fork=yes
>
>log_stderror=yes # (cmd line: -E)
>
>dns=yes
>
>rev_dns=yes
>
>check_via=no
>
>fifo="/tmp/ser_fifo"
>
># ------------------ module loading -------------------------------
>
>---
>
>loadmodule "/usr/local/lib/ser/modules/sl.so"
>
>loadmodule "/usr/local/lib/ser/modules/tm.so"
>
>loadmodule "/usr/local/lib/ser/modules/rr.so"
>
>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
>
>loadmodule "/usr/local/lib/ser/modules/usrloc.so"
>
>loadmodule "/usr/local/lib/ser/modules/registrar.so"
>
>loadmodule "/usr/local/lib/ser/modules/uri.so"
>
>loadmodule "/usr/local/lib/ser/modules/group.so"
>
>loadmodule "/usr/local/lib/ser/modules/mysql.so"
>
>loadmodule "/usr/local/lib/ser/modules/acc.so"
>
>loadmodule "/usr/local/lib/ser/modules/auth.so"
>
>loadmodule "/usr/local/lib/ser/modules/auth_db.so"
>
>#loadmodule "/usr/local/lib/ser/modules/textops.so"
>
>#loadmodule "/usr/local/lib/ser/modules/vm.so"
>
># ----------------- setting module-specific parameters ------------
>
>---
>
>modparam("auth_db", "db_url","mysql://ser:heslo@localhost/ser")
>
>modparam("auth_db", "calculate_ha1", yes)
>
>modparam("auth_db", "password_column", "password")
>
>modparam("usrloc", "db_mode", 2)
>
># -- acc params --
>
>modparam("acc", "log_level", 1)
>
># that is the flag for which we will account -- don't forget to
>
># set the same one :-)
>
>#modparam("acc", "db_flag", 1)
>
>modparam("acc", "db_url","mysql://ser:heslo@localhost/ser")
>
>modparam("acc", "db_missed_flag", 3)
>
>modparam("tm", "fr_inv_timer", 20)
>
>#modparam("tm", "fr_inv_timer", 20)
>
>#modparam("tm", "fr_inv_timer", 20>
>
>modparam("group", "db_url", "mysql://ser:heslo@localhost/ser")
>
># ------------------------- request routing logic ----------------
>
>---
>
># main routing logic
>
>alias="ion.dom"
>
>alias="63.86.212.154"
>
>route {
>
>if (!mf_process_maxfwd_header("10")) {
>
>log("LOG: Too many hops\n");
>
>sl_send_reply("483", "Alas Too Many Hops");
>
>break;
>
>};
>
>if (!(method=="REGISTER")) record_route();
>
>if (loose_route()) {
>
>t_relay();
>
>break;
>
>};
>
># if (!uri==myself) {
>
># t_relay();
>
># break;
>
># };
>
>if (method == "REGISTER") {
>
>if (!save("location")) {
>
>sl_reply_error();
>
>};
>
>break;
>
>};
>
># does the user wish redirection on no availability? 
>
>(i.e., is he
>
># in the voicemail group?) -- determine it now and store 
>
>it in
>
># flag 4, before we rewrite the flag using UsrLoc
>
>if (is_user_in("Request-URI", "voicemail")) {
>
>setflag(4);
>
>};
>
># native SIP destinations are handled using our USRLOC DB
>
>if (!lookup("location")) {
>
># handle user which was not found
>
>route(4);
>
>break;
>
>};
>
># if user is on-line and is in voicemail group, enable 
>
>redirection
>
>if (method == "INVITE" && isflagset(4)) {
>
>t_on_failure("1");
>
>};
>
>setflag(3);
>
>t_relay();
>
>}
>
># ------------- handling of unavailable user ------------------
>
>route[4] {
>
># non-Voip -- just send "off-line"
>
>if (!(method == "INVITE" || method == "ACK" || method 
>
>== "CANCEL")) {
>
>sl_send_reply("404", "Not Found");
>
>break;
>
>};
>
># not voicemail subscriber
>
>if (!isflagset(4)) {
>
>if (uri=~"^sip:1.*") {
>
>rewritehostport("1.1.1.7:5060"); 
>
>t_relay_to_udp("1.1.1.7", "5060");
>
>break;
>
>};
>
>if (uri=~"^sip:011.*") {
>
>rewritehostport("1.1.1.6:5060");
>
>t_relay_to_udp("1.1.1.6", "5060");
>
>break;
>
>};
>
>}
>
># forward to voicemail now
>
>setflag(3);
>
>rewritehostport("1.1.1.8:5060");
>
>t_relay_to_udp("1.1.1.8", "5060");
>
>}
>
># if forwarding downstream did not succeed, try voicemail running
>
># at bat.iptel.org:5060
>
>failure_route[1] {
>
>setflag(3);
>
>revert_uri();
>
>rewritehostport("1.1.1.8:5060");
>
>append_branch();
>
>t_relay_to_udp("1.1.1.8", "5060");
>
>}
>_______________________________________________
>Serusers mailing list
>serusers at lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers

--
Jiri Kuthan            http://iptel.org/~jiri/ 




More information about the sr-users mailing list