<div>
<div>Hi all:</div>
<div> </div>
<div> I have installed radius server, and I also configure the "ser.cfg" for the radius accounting. However, there is a problem confues me.</div>
<div> </div>
<div> While the sip session have set up, the radiusclient send a Request-Account packet to radius server immediately, than radius server </div>
<div> can save the start-up time of the session into database. But after the session terminated, radiusclient do nothing(it should send a </div>
<div> Accounting-Stop packet to radius server)!! Therefore, I can not have a complete time record.</div>
<div> </div>
<div> I try to look up the solution in seruser mailing list, but I can not find what I want. Please help me, thanks.</div>
<div> </div>
<div> Sincerely</div>
<div> </div>
<div> Caxton</div>
<div> </div>
<div>-----ser.cfg-----</div>
<div> </div>
<div>[cut]</div>
<div> </div>
<div># -- acc params --<br>modparam("acc", "radius_config", "/usr/local/etc/radiusclient-ng/radiusclient.conf")<br>modparam("acc", "log_level", 2)<br>modparam("acc", "radius_flag", 1)
<br>modparam("acc", "report_ack", 0)<br># ------------------------- request routing logic -------------------<br><br># main routing logic<br>route{<br><br> # initial sanity checks -- messages with
<br> # max_forwards==0, or excessively long requests<br> if (!mf_process_maxfwd_header("10")) {<br> sl_send_reply("483","Too Many Hops");<br> break;
<br> };<br> if (msg:len >= 2048 ) {<br> sl_send_reply("513", "Message too big");<br> break;<br> };<br> # we record-route all messages -- to make sure that
<br> # subsequent messages will go through our proxy; that's<br> # particularly good if upstream and downstream entities<br> # use different transport protocol<br> if (!method=="REGISTER") record_route();
<span></span><br><br> # subsequent messages withing a dialog should take the<br> # path determined by record-routing<br> if (loose_route()) {<br> # mark routing logic in request<br> append_hf("P-hint: rr-enforced\r\n");
<br> route(1);<br> break;<br> };<br><br> if (!uri==myself) {<br> # mark routing logic in request<br> append_hf("P-hint: outbound\r\n");<br>
route(1);<br> break;<br> };<br><br> # if the request is for other domain use UsrLoc<br> # (in case, it does not work, use the following command<br> # with proper names and addresses in it)
<br> if (uri==myself) {<br><br> if (method=="REGISTER") {<br> log(1, "REGISTER: Authenticating user\n");<br># Uncomment this if you want to use digest authentication
<br> if (!www_authorize("<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://pc80.s206.tj.mcu.edu.tw/" target="_blank">pc80.s206.tj.mcu.edu.tw</a>", "subscriber")) {
<br> log(1, "REGISTER: Chanllenging user\n"); <br> www_challenge("<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://pc80.s206.tj.mcu.edu.tw/" target="_blank">
pc80.s206.tj.mcu.edu.tw</a>", "0");<br> break;<br> };<br> save("location");<br> break;<br> };
<br> if(method=="INVITE") {<br> log(1, "INVITE\n");<br> setflag(1); <br> }<br> if(method=="MESSAGE") {
<br> log(1, "MESSAGE\n");<br> setflag(1);<br> }<br> if(method=="BYE"||method==<span></span> "CANCEL") { <br> log(1, "BYE or CANCEL\n");
<br> setflag(1);<br> }<br> </div>
<div>[cut]</div></div>