Your BIGGEST problem is that you're using OpenSER documentation for writing your SER config. They're different programs, and the modules for OpenSER don't always work the same way as they work for SER (some don't even exist in SER).
There doesn't appear to BE a log_extra() command in the SER 0.9.x version of ACC.
See module documentation here:
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/ser/sip_router/modules/acc/Attic/R...
N.
On Fri, 15 Sep 2006 11:00:56 +0200, topi wrote
hello,
i'm using ser 0.9.0 and acc module to log transactions, actually it works but i need some help with two problems:
- i would like to log acc messages to a different syslog facility, and
a different file, than general logs are logged.
-> my ser.cfg file contains:
log_facility=LOG_LOCAL0
loadmodule "/usr/local/ser/lib/ser/modules/acc.so"
# -- acc params -- # set the reporting log level modparam("acc", "log_level", 1) modparam("acc", "log_flag", 5) #modparam("acc", "log_extra", "msg_body=$rb")
by setting log_level to 1, acc logs would be sent to LOG_LOCAL1 facility, is this right?
if not, what i could do to get this logs into a different file?
- the second problem is that while the acc documentation documents
'log_extra' param:
http://www.voice-system.ro/docs/acc-headers/acc.html#AEN308
i'm getting errors the following error:
Sep 5 12:46:43 host ser: set_mod_param_regex: parameter <log_extra> not found in module <acc> Sep 5 12:46:43 host ser: parse error (104,19-20): Can't set module parameter
what can be done?
thanks in advance,
topi
my /usr/local/ser/etc/ser.cfg:
# # $Id: ser.cfg,v 1.25.2.1 2005/02/18 Exp $ # # ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd) log_stderror=no # (cmd line: -E)
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 children=3 fifo="/tmp/ser_fifo"
sip_warning=0 log_facility=LOG_LOCAL0
alias="192.168.123.2" alias="ser.mynetwork.net"
# ------------------ module loading ---------------------------------- loadmodule "/usr/local/ser/lib/ser/modules/mysql.so" loadmodule "/usr/local/ser/lib/ser/modules/sl.so" loadmodule "/usr/local/ser/lib/ser/modules/tm.so" loadmodule "/usr/local/ser/lib/ser/modules/rr.so" loadmodule "/usr/local/ser/lib/ser/modules/maxfwd.so" loadmodule "/usr/local/ser/lib/ser/modules/usrloc.so" loadmodule "/usr/local/ser/lib/ser/modules/registrar.so" loadmodule "/usr/local/ser/lib/ser/modules/textops.so"
# Uncomment this if you want digest authentication # mysql.so must be loaded ! loadmodule "/usr/local/ser/lib/ser/modules/auth.so" loadmodule "/usr/local/ser/lib/ser/modules/auth_db.so"
# accounting loadmodule "/usr/local/ser/lib/ser/modules/acc.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params -- modparam("usrloc", "db_mode", 0)
# -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1)
# -- acc params -- # set the reporting log level modparam("acc", "log_level", 1) # number of flag, which will be used for accounting; if a message is # labeled with this flag, its completion status will be reported modparam("acc", "log_flag", 5) #modparam("acc", "failed_transactions", 1)
#modparam("acc", "log_extra", "msg_body=$rb") #modparam("acc", "log_extra", "ua=hdr/User-Agent;uuid=avp/i:123")
# ------------------------- request routing logic -------------------
# main routing logic
route{ # initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); break; };
if (!method=="REGISTER") record_route(); # subsequent messages withing a dialog should take the # path determined by record-routing if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; }; if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); break; }; if (method == "INVITE" || method== "ACK" || method ==
"CANCEL" || method == "BYE") { # accounting setflag(5); }; #
# if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) { if (method=="REGISTER") { save("location"); break; }; lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; # native SIP destinations are handled using our
USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break;
}; }; append_hf("P-hint: usrloc applied\r\n"); route(1);
}
route[1] { # send it out now; use stateful forwarding as it works reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); }; }
Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers