-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Under certain circumstances, the sync thread may need to generate an IRI based on some external change in an intercept's properties (i.e. not in response to a RADIUS, GTP or some other session protocol packet).
The obvious example would be needing to generate an "end of intercept while session active" message when the end time for an intercept has been reached. This works fine in the general case, because all of the information needed to generate the IRI is stored with the sync thread's local structure describing the intercept. This includes the CIN, which is derived from fields in the session management protocol packets.
The problem case is vendor mirror intercepts, which can take place without any session management traffic being sent back to the sync thread. However, we need the CIN to be able to generate IRIs for those intercepts and the CIN is only present in the packets that are intercepted by the collector threads.
Therefore we need a message that the collector threads can pass up to the sync thread to state the known CIN for a vendmirror intercept. The sync thread can then use that CIN (if available) to populate an IRI if needed. If no CIN has been received from a collector thread, then we can assume that no packets have been intercepted and an IRI is probably not needed (?).