HDD is used to store
CDRs when CGF fails and then CDRs are streamed to the CGF when CGF
is up. Streaming can be done in a First-In-First-Out (FIFO) or parallel mode.
The parallel mode of operation is newly introduced in release 16.0.
In FIFO mode, newly generated CDRs are routed to CGF via HDD. In parallel mode,
newly generated CDRs from AAA Managers are sent directly to CGF
server along with the streamed CDRs from hard disk.
With streaming mode
enabled, CDRs are written to HDD when the OCG connectivity is down.
Once the OCG connectivity is up, the HDD contents are sent in a
FIFO order. New records should be written to disk as long as all
contents from disk are not fully flushed. If the disk is completely
flushed, the records can be sent to OCG directly.
In the FIFO implementation,
CDR streaming works fine but the process of sending the newly generated
CDRs to HDD and then to CGF is inefficient. Also, if the CDR generation
rate is high and streaming rate is slow, the files in HDD will keep
increasing and eventually there will be no space left in hard disk,
leading to CDR purging. This can be avoided by sending the newly generated
CDRs directly to CGF when streaming from HDD is in progress.
With
parallel mode, this behavior is changed to send new CDRs directly
to CGF when streaming from HDD is in progress.
The existing CLI command "gtpp
storage-server mode streaming" used to set the streaming mode,
is extended. The "parallel" keyword
used with this command enables the new parallel streaming mode.
In the current implementation,
during streaming, GTPP requests are read from HDD and sent to CGF
server, till configured max outstanding is reached.
In PARALLEL mode, rate
of streaming from HDD will be slow. It is assumed that the billing
domain should be capable of handling Out-Of-Order CDRs in parallel
streaming mode.