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:
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:
1) 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?
2) 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(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers