<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/4.6.6">
</HEAD>
<BODY>
Hello,<BR>
<BR>
I use rlm_sql module and have problems with stale sessions.<BR>
<BR>
Sometimes users (more than 4k-5k) disconnects without accounting_stop_query and they can't connect again because session is not closed by normal way and session still active in database. My accounting time is 45 minutes, if new alive-update packets not coming for user from NAS side I close this session manually with a little script. After this process (after 45 minute) user can connects again. I used stale_sessions but it not helped.<BR>
<BR>
In my case I want to close for user existing staled session in database if new accounting_start_query (insert query) occurs. How can i realize this?<BR>
<BR>
<BR>
accounting_start_query = "INSERT into ${acct_table1} \<BR>
                (AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctAuthentic, \<BR>
                ConnectInfo_start, CalledStationId, CallingStationId, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, XAscendSessionSvrKey, mac_address, agent, vlan) \<BR>
                values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', \<BR>
                '%{NAS-Port}', '%{NAS-Port-Type}', ('%S'::timestamp - '%{%{Acct-Delay-Time}:-0}'::interval), '%{Acct-Authentic}', '%{Connect-Info}', \<BR>
                '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', \<BR>
                NULLIF('%{Framed-IP-Address}', '')::inet, 0, '%{X-Ascend-Session-Svr-Key}', \<BR>
                (case when length('%{client-mac-address}')>0 then '%{client-mac-address}' else '%{Calling-Station-Id}' end), \<BR>
                (case when '%{NAS-IP-Address}' = '10.10.10.10' then '%{Nas-Port-Id}' else '%{circuit-id-tag}' end), \<BR>
                '%{Nas-Port-Id}')"<BR>
<BR>
accounting_start_query_alt  = "UPDATE ${acct_table1} \<BR>
                SET AcctStartTime = ('%S'::timestamp - '%{Acct-Delay-Time:-0}'::interval), AcctStartDelay = 0, \<BR>
                ConnectInfo_start = '%{Connect-Info}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' \<BR>
                AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStopTime IS NULL"<BR>
<BR>
<BR>
<BR>
Thanks!<BR>
Nadir
</BODY>
</HTML>