Hi,
I'm new to freeradius and SER, hence I'm having some problem in accounting calls from my sip phone. My configuration file (ser.cfg) for my SER is as follows, and currently the radius accounting module is used to keep track of start and stop times for VoIP calls made.
The accounting log details that I'm getting from freeradius is as follows - note that I do not get any start or stop auth-type!
Please help as this is quite urgent :-)
Regards, YY
ACCOUNTING DETAILS -----------------------------
Thu Apr 7 16:53:19 2005 Acct-Status-Type = Failed ----------Why ? Service-Type = Sip-Session Sip-Response-Code = 0 Sip-Method = 1 User-Name = "[EMAIL PROTECTED]" Calling-Station-Id = "sip:[EMAIL PROTECTED]" Called-Station-Id = "sip:[EMAIL PROTECTED]" Sip-Translated-Req-ID = "sip:[EMAIL PROTECTED]" Acct-Session-Id = "[EMAIL PROTECTED]" Sip-To-Tag = "n/a" Sip-From-Tag = "000ded22eeb2008b35455873-1507a868" Sip-Cseq = "101" NAS-IP-Address = 192.168.1.2 NAS-Port = 5060 Acct-Delay-Time = 0 Client-IP-Address = 127.0.0.1 Acct-Unique-Session-Id = "1a95db24d20f72a1" Realm = "orion.lab.test.com.au" Timestamp = 1112863999
Thu Apr 7 17:39:44 2005 Acct-Status-Type = Failed ------------- Why ? Service-Type = Sip-Session Sip-Response-Code = 0 Sip-Method = 1 User-Name = "[EMAIL PROTECTED]" Calling-Station-Id = "sip:[EMAIL PROTECTED]" Called-Station-Id = "sip:[EMAIL PROTECTED]" Sip-Translated-Req-ID = "sip:[EMAIL PROTECTED]" Acct-Session-Id = "[EMAIL PROTECTED]" Sip-To-Tag = "n/a" Sip-From-Tag = "000ded22eeb2008c4a24089e-7fba04fa" Sip-Cseq = "101" NAS-IP-Address = 192.168.1.2 NAS-Port = 5060 Acct-Delay-Time = 0 Client-IP-Address = 127.0.0.1 Acct-Unique-Session-Id = "fa9197df9e254d17" Realm = "orion.lab.test.com.au" Timestamp = 1112866784
SER.CFG -----------
# # simple quick-start config script #
# ----------- global configuration parameters ------------------------
# Uncomment these lines to enter debugging mode debug=7 fork=yes listen=192.168.1.2 # replies should include extensive warnings sip_warning=yes # locally generated messages should include server's signature server_signature=yes log_stderror=yes check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database loadmodule "/usr/local/lib/ser/modules/mysql.so" 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/exec.so" loadmodule "/usr/local/lib/ser/modules/uri.so" loadmodule "/usr/local/lib/ser/modules/textops.so"
# RADIUS support loadmodule "/usr/local/lib/ser/modules/acc.so"
# Uncomment this if you want digest authentication # mysql.so must be loaded ! loadmodule "/usr/local/lib/ser/modules/auth.so" loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
# Uncomment this if you want to use SQL database # for persistent storage and comment the previous line modparam("usrloc", "db_mode", 2)
# -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1)
# -- acc params --
modparam("acc", "radius_config", "/usr/local/etc/radiusclient/radiusclient.conf")
modparam("acc", "radius_missed_flag", 2)
modparam("acc", "radius_flag", 1)
# -- auth_radius params --
modparam("auth_radius", "radius_config", "/usr/local/etc/radiusclient/radiusclient.conf")
# ------------------------- 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")) { log(1,"LOG: Too many hops"); sl_send_reply("483","Too Many Hops"); break; }; if ( msg:len > max_len ) { log(1,"LOG: Message too big"); sl_send_reply("513", "Message too big"); break; };
# loose-route processing if(loose_route()){ t_relay(); break; };
if(uri==myself){
# All REGISTER attempts are processed and must always be authenticated
if (method=="REGISTER"){
if (!radius_www_authorize("")) {
www_challenge("", "0");
break;
};
save("location"); break; };
# destinations routed through gateway if(uri=~"^sip:[0-9]{5,[EMAIL PROTECTED]"){ route(1); break; };
setflag(3); route(2); }; }
######################################################################### # Route Processing # #########################################################################
# leaving internet for PSTN route[1]{
### PROBLEM WITH ACCOUNTING HERE ...... setflag(1); if (method=="INVITE") { acc_rad_request("Start"); record_route(); };
if (method=="BYE") { acc_rad_request("Stop"); };
if (method=="REGISTER" || method=="INVITE" || method=="BYE" || method=="CANCEL") {
#Save messages in mysql for CDRTool
exec_msg("/usr/local/etc/sertrace.py; exit 1");
};
if (uri=~"^sip:[EMAIL PROTECTED]") { ## This assumes that the caller is
log(1, "Forwarding to PSTN"); ## registered in our realm
forward(192.168.1.1, 5060); ## Our Cisco router
break;
};
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; };
}
# process aliased outbound traffic route[2]{ if(!t_relay()){ sl_reply_error(); break; }; }
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html