The CGF collects CDRs from the CDF. If the CDF and the CGF are separate entities, then the standard Ga interface as specified in
TS 32.295 is used to transfer the CDRs from the CDF to the CGF.
If CDF and CGF are integrated, then a proprietary, internal mechanism is used. The possibilities of separate or integrated CDF and CGF are specified per domain, subsystem and service in the respective
"middle tier" charging TSs, i.e. those in the
[10] through [49] reference number range, and in
TS 32.296 for the OCS.
In any case, CDRs are transferred, in near real-time, from the CDF to the CGF as soon as they have been closed by the CDF. Refer to
TS 32.295 for further details. Once received by the CGF, the CDRs may undergo semantical and/or syntactical sanity checks, however, these checks are not specified further within the present document.
If the CGF determines that a CDR is not well formatted, or otherwise incorrect, then the defective CDR parameter(s) shall be filled with an appropriate
"replacement" indicator within the limits of the syntax allowed for the parameter.
If the error renders the complete CDR unusable (i.e. the above replacement of erroneous parameters is not possible), then no further action of the CGF can be performed regarding this CDR. An example of a case where the erroneous parameter cannot be replaced is when the
"CDR type" attribute of a CDR received by the CGF is corrupted.
Details of this function are implementation specific.
CDRs that have been processed by the CGF without error, or where errors have been corrected by the CGF as described above, are considered
"acceptable" by the CGF. CDRs that have non-recoverable errors are not considered
"acceptable" by the CGF. The
"acceptable" CDRs are immediately placed into a CDR file by the CGF.
The CDRs that are not
"acceptable" should be properly reflected in an error log and appropriate alarms should be generated, after which they may be destroyed. Furthermore, to the extent possible, the number of lost CDRs and the fact that CDRs were lost, shall be indicated in the CDR file.
It is acknowledged that the processing of a CDR between being received until it is placed on the CDR file, takes a small amount of time. Hence, where the present document mandates the
"immediate" treatment of CDRs received by the CGF, it is to be interpreted such that it is not allowed to postpone the processing of any received CDRs for any reason. In technical terms,
"immediate" shall be interpreted as:
-
The system shall be capable of complying with near real-time requirements as specified in clause 3.1.
-
The system should be capable of complying, as closely as possible, with real-time requirements as specified in clause 3.1.
Once a CDR has been stored on the appropriate file, the CGF may destroy any other reference to that CDR.
In the default mode of operation, the CGF manages a single (
"default") file for the storage of all
"acceptable" CDRs. However, the CGF may also route CDRs to different files that are kept open concurrently, i.e. additional files may be configured by OAM&P commands together with associated CDR routeing filters. While the CGF stores only those CDRs matching the associated routeing filter on each of the additional files, the default file is used to store all CDRs that do not match any of the routeing filters configured for the additional files.
The CDR routeing function shall apply CDR parameters and CDR origin to decide into which file to place the CDR. The file name shall, within the limits of the file naming conventions, contain an indication of the CDR routeing filter applied.
As a minimum, each CGF implementation shall support the CDR type and the sending CDF as selection criteria for CDR routeing. It shall then be possible to include in a file only the following CDRs:
-
CDRs of a single type;
-
CDRs of a set of specified types (e.g. only IMS CDR types);
-
CDRs originated by a single CDF;
-
CDRs originated by a set of CDFs;
-
Any combination of the above.
Further details of the CDR routeing function, such as:
-
the maximum number of simultaneously open CDR files;
-
the order in which the routeing filters are evaluated;
-
the way CDR filters can be configured by OAM&P;
are implementation specific. In order to avoid arbitrary routeing of CDRs, operators should assure that the routeing filters assigned per file, do not overlap with each other.
The term
"matching CDR" is used in the present document to denote a CDR that matches the routeing filter of a given CDR file.
For the default case, plus each of the additional CDR routeing filters that may be set up on the CGF (see
clause 5.1.2), the CGF provides a non-interrupted chain of CDR files. As described above, each CDR is immediately stored in the appropriate file after being received and determined
"acceptable" by the CGF.
Several conditions may govern the closure of a CDR file by the CGF:
-
A configurable file size limit;
-
A configurable file closure time;
-
A configurable file lifetime ("interval");
-
A configurable number of CDRs within the file;
-
CDR release, version or encoding change;
-
Manual OAM&P actions;
-
System defined reasons (e.g. file system full).
When a CDR file is closed, the next matching CDR shall be placed in the next file in the chain.
The exact time when this next CDR file is physically generated, i.e.:
-
immediately after the previous file has been closed (i.e. the earliest possible time),
-
when the next matching CDR arrives (i.e. the latest possible time),
-
anytime in between,
is implementation specific. However, each CDR file shall contain all
"acceptable" matching CDRs received and processed by the CGF between the closure of the previous file and the configured file closure trigger of the current file, as specified above. In any case, a file shall be generated and closed upon the occurrence of the file closure trigger, i.e. an empty file (containing no CDRs) if no matching CDRs arrived since the closure of the last file in the chain.
Upon file closure, the CDR file is immediately available for transfer to the BD.
CDR files may be removed from the CGF in one of the following ways:
-
By the BD issuing corresponding commands provided by the file transfer protocol;
-
By the CGF application once the file has been transferred;
-
Due to CGF file system storage limitation or configurable file age limits;
-
OAM&P action.
In order to avoid loss of CDRs, operators should manage the system in a way that the
"system defined" file closure triggers mentioned above do not occur.