Hi users,
I have been trying to use Freeradius using along with openser
,and with openser sampleconfig files , atlast I managed to recieve packets
from openser.
here the problem was , iam getting accounting packets duplicate . that is
when X called Y ----> in radacct table iam getting the following
information
"I am giving only some coloumns"
___________________________________________________________________________________
radacctid | callingstationid | calledstationid
| acctstarttime | acctstoptime |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
10 | Y@ipaddress | X@ipaddress |
2006-07-24 10:23:06 | 2006-07-24 10:23:41|
11 | Y@ipaddress | X@ipaddress |
2006-07-24 10:23:06 | 2006-07-24 10:23:41|
This records are When "Y" called "X".......
Here Y called X and then Y stops the conversation and the accounting details
are like above with "duplicate entries"
and below are accounting records when "Y" called "X" and " X
" stops the
conversation first.....
radacctid | callingstationid | calledstationid
| acctstarttime | acctstoptime |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
12 | Y@ipaddress | X@ipaddress |
2006-07-24 10:23:06 | 0000-00-00 00:00:00|
13 | Y@ipaddress | X@ipaddress |
2006-07-24 10:23:06 | 0000-00-00 00:00:00|
14 | X@ipaddress | Y@ipaddress |
2006-07-24 10:23:58 | 2006-07-24 10:23:58 |
So, here iam getting two duplicate entries with only account start time and
one with acct stoptime but with calling stationid is going to called
stationid
O.K eventhough Acctsessionid is same and is the key value:
and i setflag(1) [accounting flag]
just before the looseroute section
route {
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
break;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
break;
};
# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
if (method=="INVITE" && client_nat_test("3")) {
# INSERT YOUR IP ADDRESS HERE
record_route_preset("81.21.34.37:5060;nat=yes");
} else if (method!="REGISTER") {
record_route();
};
# -----------------------------------------------------------------
# Call Tear Down Section
# -----------------------------------------------------------------
if (method=="BYE" || method=="CANCEL") {
end_media_session();
};
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
setflag(1) ; if (loose_route())
{
<------------------------------------ {this is the place where i setflag
after checking so many places }
if (has_totag() && (method=="INVITE" ||
method=="ACK")) {
setflag(11);setflag(12);
if (client_nat_test("3") || search("^Route:.*;nat=yes"))
{
setflag(6);
use_media_proxy();
};
};
route(1);
break;
};
So please any body solve my problem so that i can get billing records
properly
if not please specify a place to setting the accounting flag so that i dont
get this "duplicate entries"
I hope you guys will help me,
Thank
You.
regards,
Ravi.