While doing some testing with Cisco Access Registrar (CAR) 5.0, I noticed that the test user had hundreds of old sessions hanging around:

--> query-sessions /r with-User X
Sessions with-User X for /Radius
  Sessions for /Radius/SessionManagers/session-mgr-1:
    S432 Key: 04000000000CF660, NAS: NAS.slaptijack.com, NAS-Port: 0, User-Name: X, Time: 21:19:26, Acct-Session-Id: 04000000000CF660
<snipped a lot of lines>

--> count-sessions /r with-User X

Total 469 session(s) with-User X for /Radius/SessionManagers

It seemed like a good idea to have these old sessions be cleared out rather than sitting around forever. These sessions were likely created during testing when things may not have worked perfectly right. Although this can be done by hand (release-sessions), I decided to have it done automatically. You have to change two settings.

First, set the PhantomSessionTimeOut in your session manager. This controls how long it takes for an accounting start record to appear before CAR believes the session is never going to start.

--> cd /Radius/SessionManagers/session-mgr-1/

[ //localhost/Radius/SessionManagers/session-mgr-1 ]
    Name = session-mgr-1
    Description = 
    Type = Local
    IncomingScript = 
    OutgoingScript = 
    AllowAccountingStartToCreateSession = False
    SessionTimeOut = 
    PhantomSessionTimeOut = 
    SessionKey = User-Name
    ResourceManagers/

--> set PhantomSessionTimeOut "10 Minutes"

Set PhantomSessionTimeOut "10 Minutes"

--> cd /Radius/Advanced/

[ //localhost/Radius/Advanced ]
<snip>
    SessionPurgeInterval =
<snip>

--> set SessionPurgeInterval "1 Hour"

Set SessionPurgeInterval "1 Hour"

--> save

Validating //localhost...
Saving //localhost...

--> reload

Reloading Server 'Radius'...
Server 'Radius' is Running, its health is 10 out of 10

As you remember, we had 469 sessions for user X. After an hour...

--> count-sessions /r with-User X

No active sessions found with-User X for /Radius/SessionManagers