[OpenSIPS-Users] opensips Accting problem
Dilip
dilip.m at renovau.com
Mon Nov 10 06:59:30 CET 2008
Hello,
We have successfully configured opensips + freeradius.
We are using the opensip's accounting module for accounting. we can make
a call.
But after each call, there should be a accounting entry in radius's
radacct table.
Actually, after INVITE pkt acoounting is not starting, but in the BYE
pkt it gives the acct Pkt.
On freeradius server side,we are getting only Acct-Status-Type =Stop
only, not the Acct-Status-Type =start .So that in the database we are
getting the start and stop time same.
Here, is our opensips.cfg file
--------------------------------------------------------
#################################################################################
#modparam("acc", "failed_transaction_flag", 1)
#modparam("acc", "report_cancels", 0)
#modparam("acc", "report_ack", 0)
#modparam("acc", "early_media", 0)
#modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
modparam("acc", "log_missed_flag", 1)
modparam("acc", "service_type", 15)
modparam("acc|auth_radius",
"radius_config","/etc/radiusclient-ng/radiusclient.conf")
modparam("acc", "radius_flag", 1)
modparam("acc", "radius_missed_flag", 2)
modparam("acc", "radius_extra", "
Called-Station-Id=$tu;
Calling-Station-Id=$fu;
Canonical-URI=$tu;
User-Name=$au;
Sip-User-Realm=$ar;
Source-IP=$si;
Source-Port=$sp;
From-Header=$hdr(from);
User-Agent=$hdr(user-agent);
Contact=$hdr(contact);
Event=$hdr(event)")
route{
xdbg("\n\n---- Start -----\n\n");
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
if (!method=="REGISTER"){
record_route();
};
xdbg("\n\n---- Before Loose route ----\n\n");
if (loose_route()){
xdbg("\n\n---- Loose route ----\n\n");
xdbg("\n\n-------- Stop Accounting --------\n\n");
setflag(1); #Stop accounting
#setflag(2); #Stop accounting
route(1);
exit;
};
if ((src_ip==X.X.X.X) ) {
xdbg("\n\n---- From sip proxy -----\n\n");
setflag(1);
route(2);
exit;
};
if (method=="REGISTER"){
route(3);
exit;
};
if (method=="INVITE")
{
xdbg("\n\n-------- Start Accounting --------\n\n");
setflag(1); #Start accounting
if (nat_uac_test("19"))
{
fix_nated_contact();
force_rport();
};
xdbg("\n\n---- Invite............----\n\n");
if (!radius_www_authorize(""))
{
xdbg("\n\n---- RADIUS ----\n\n");
www_challenge("", "0");
exit;
};
}else if(method=="INFO"){
setflag(1); #Start accounting
exit;
}else if(method=="SUBSCRIBE"){
exit;
};
ds_select_dst("1", "0");
setflag(1);
forward();
exit;
}
# generic forward
route[1]
{
if (!t_relay()) {
sl_reply_error();
};
}
route[2]
{
setflag(1); #Start accounting
if (lookup("location"))
{
setflag(1); #Start accounting
route(1);
}else{
sl_send_reply("404", "Not Found");
xdbg("\n\n-------- To Asterisk --- --------\n\n");
ds_select_dst("3", "0");
forward();
};
}
route[3]
{
setflag(1); #Start accounting
if (nat_uac_test("18"))
{
xdbg("\n\n-------- Nated --------\n\n");
fix_nated_register();
force_rport();
};
if (!radius_www_authorize(""))
{
www_challenge("", "0");
exit;
};
save("location");
}
freeradius O/p :-
-- Walking the entire request list ---
Cleaning up request 1 ID 175 with timestamp 4917c6d4
Waking up in 1 seconds...
--- Walking the entire request list ---
Cleaning up request 2 ID 176 with timestamp 4917c6d5
Waking up in 2 seconds...
rad_recv: Access-Request packet from host 67.205.85.119:54665, id=180,
length=237
User-Name = "10009 at 67.205.85.119"
Digest-Attributes = 0x0a073130303039
Digest-Attributes = 0x010f36372e3230352e38352e313139
Digest-Attributes =
0x0232343931376338303830303030303030376330616338616134643133636563393930613239376536343033623566623639
Digest-Attributes =
0x042f7369703a31333033333337323530304036372e3230352e38352e3131393a333330303b757365723d70686f6e65
Digest-Attributes = 0x0308494e56495445
Digest-Response = "b62af9c297fc6385ed301c207c887136"
Service-Type = Sip-Session
Sip-Uri-User = "10009"
NAS-IP-Address = 67.205.85.119
NAS-Port = 5060
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 5
modcall[authorize]: module "preprocess" returns ok for request 5
modcall[authorize]: module "chap" returns noop for request 5
modcall[authorize]: module "mschap" returns noop for request 5
rlm_digest: Adding Auth-Type = DIGEST
modcall[authorize]: module "digest" returns ok for request 5
rlm_realm: Looking up realm "67.205.85.119" for User-Name =
"10009 at 67.205.85.119"
rlm_realm: Found realm "67.205.85.119"
rlm_realm: Adding Stripped-User-Name = "10009"
rlm_realm: Proxying request from user 10009 to realm 67.205.85.119
rlm_realm: Adding Realm = "67.205.85.119"
rlm_realm: Authentication realm is LOCAL.
modcall[authorize]: module "suffix" returns noop for request 5
rlm_eap: No EAP-Message, not doing EAP
modcall[authorize]: module "eap" returns noop for request 5
users: Matched entry DEFAULT at line 152
modcall[authorize]: module "files" returns ok for request 5
radius_xlat: '10009'
rlm_sql (sql): sql_set_user escaped user --> '10009'
radius_xlat: 'SELECT id, UserName, Attribute, Value, op FROM
radcheck WHERE Username = '10009' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql (sql): Released sql socket id: 4
modcall[authorize]: module "sql" returns ok for request 5
modcall: leaving group authorize (returns ok) for request 5
rad_check_password: Found Auth-Type DIGEST
auth: type "digest"
Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 5
rlm_digest: Converting Digest-Attributes to something sane...
Digest-User-Name = "10009"
Digest-Realm = "67.205.85.119"
Digest-Nonce = "4917c80800000007c0ac8aa4d13cec990a297e6403b5fb69"
Digest-URI = "sip:13033372500 at 67.205.85.119:3300;user=phone"
Digest-Method = "INVITE"
A1 = 10009:67.205.85.119:1234
A2 = INVITE:sip:13033372500 at 67.205.85.119:3300;user=phone
H(A1) = 51f61b367b1abaf100db924c8247fada
H(A2) = c59454d1e9496206734e22f792d7f57f
KD =
51f61b367b1abaf100db924c8247fada:4917c80800000007c0ac8aa4d13cec990a297e6403b5fb69:c59454d1e9496206734e22f792d7f57f
EXPECTED b62af9c297fc6385ed301c207c887136
RECEIVED b62af9c297fc6385ed301c207c887136
modcall[authenticate]: module "digest" returns ok for request 5
modcall: leaving group authenticate (returns ok) for request 5
Sending Access-Accept of id 180 to 67.205.85.119 port 54665
Finished request 5
Going to the next request
--- Walking the entire request list ---
Cleaning up request 3 ID 177 with timestamp 4917c6d7
Waking up in 1 seconds...
--- Walking the entire request list ---
Cleaning up request 4 ID 179 with timestamp 4917c6d8
Waking up in 5 seconds...
--- Walking the entire request list ---
Cleaning up request 5 ID 180 with timestamp 4917c6dd
Nothing to do. Sleeping until we see a request.
rad_recv: Accounting-Request packet from host 67.205.85.119:54665,
id=181, length=422
Acct-Status-Type = Stop
Service-Type = Sip-Session
Sip-Response-Code = 200
Sip-Method = Bye
Event-Timestamp = "Nov 10 2008 00:30:22 EST"
Sip-From-Tag = "387fe440d7625640"
Sip-To-Tag = "10115608104462043735910073"
Acct-Session-Id = "a36469cc9c312e09 at 192.168.1.218"
Called-Station-Id = "sip:13033372500 at 67.205.85.119:3300;user=phone"
Calling-Station-Id = "sip:10009 at 67.205.85.119:3300;user=phone"
Canonical-URI = "sip:13033372500 at 67.205.85.119:3300;user=phone"
User-Name = "10009"
Attr-111 = 0x36372e3230352e38352e313139
Source-IP = "58.68.123.51"
Source-Port = "64525"
From-Header = ""urmi"
<sip:10009 at 67.205.85.119:3300;user=phone>;tag=387fe440d7625640"
User-Agent = "Grandstream BT120 1.1.0.2"
NAS-IP-Address = 67.205.85.119
NAS-Port = 5060
Acct-Delay-Time = 0
we are not getting the start pkt.
Please help me.
--------------------------------------------------------
Thanks,
More information about the Users
mailing list