Hello Alan,
Why not just update the users credit when the session is closed?
Good question. The short answer is to charge as soon as possible.
Store the last "session length" for a session. If the current packet has a smaller session length, ignore the packet. Otherwise, look at the difference between the stored session length, and the session length in the current packet. Use that time for billing, rather than the time you received the packet.
That's the way it's implemented right now. Thanks
2. Is it a correct behavior of a NAS to store accounting information on it's internal disk if it can't get acknowledgment for accounting request/s and resend it later?
Yes.
How much time can it keep the data? I don't think it's a good idea to resend the data after several hours. Best Regards, George