By default, the SBC Core generates CDRs in the standard SBC Core format. For deployments that require it, users with admin privileges can configure the SBC Core to generate CDRs in the format of the (former GENBAND) Q-series SBC. Similar to SBC Core CDRs, the Q-SBC format is an ASCII-format text file with multiple records per file. When you enable the Q-SBC format, the SBC Core populates CDR log files according to the mapping shown in the Q-SBC to SBC Core CDR Mapping table. The field delimiter in the generated CDRs is the semi-colon (;) as in the Q-SBC CDR format.  

Both the SBC Core and Q-SBC generate different CDR types based on SBC configuration and the characteristics of the specific call to which the CDR applies. When you enable generating CDRs in Q-SBC format, the SBC Core generates different Q-SBC types based on the types (START, STOP, INTERMEDIATE, ATTEMPT) the SBC Core would create during its standard CDR processing. The following table shows the mapping between SBC Core CDR types and Q-SBC CDR types.

Table 1: Mapping: SBC Core CDR Types to Q-SBC CDR Types

SBC Core CDR TypeQ-SBC CDR Type 
 START start1
 STOP end1
 INTERMEDIATE interim
 ATTEMPT (if Final ATTEMPT is 1) end1 
 ATTEMPT (if Final ATTEMPT is 0)  hunt
 

SBC Core logs all types of Q-SBC CDR records (start1, end1, interim, hunt) in the same file. CDR field 39 identifies the specific type of CDR record.

File Closing and Naming Conventions

The SBC Core supports two options for closing CDR files when you are generating CDRs in Q-SBC format. The SBC supports either file-size based CDR closure, or an option to close the CDR files at configured intervals. In the interval case, the CDR file name indicates the closure date and time.

The SBC closes the current CDR file when one of the following events occur:

  • the maximum file size is reached (based on fileSize configuration)
  • the rollover time interval completed (if a rolloverInterval is configured)
  • an administrative rollover (by issuing the rolloverLogNow CLI command)
  • an SBC switchover, restart, or reboot

When the SBC closes CDR files because the maximum file size was reached, it uses a sequential naming convention. The SBC assigns the CDR file a name that follows the pattern: 
S<xxxx>.CDR 
where <xxxx> specifies a sequence number in the range 0001 to 9999. 
The SBC opens a new file, using the next sequence number, when it closes the current file. The SBC restarts numbering at 0001 once it reaches the maximum sequence number (9999).

When the SBC closes CDR files because the rollover time interval elapsed, it uses a time-based naming convention. The SBC assigns the CDR file a name that follows the pattern: T<yyyymmddhhmmss>.CDR 
where <yyyymmddhhmmss> is the date and time that the SBC closed the file.

To configure the SBC to name Q-SBC format CDR files with a name that incorporates the file closing time, you must set oam eventLog typeAdmin acct options as follows:

  • rolloverInterval to the length of time (in seconds) that you want individual CDR files to remain open
  • rolloverType to repetitive
  • rolloverAction to start
Note

The rollover time starts based on the current system time and zone.

 For both types of closing file naming conventions, the file extension given to a CDR file while it is open is determined by the setting of the renameOpenFiles option. If you enable renameOpenFiles, the SBC Core assigns the file extension .CDT to files while they are open but then renames them with the .CDR extension when closing the file. 

Examples:

Sequential naming convention: S0004.CDT (open) becomes S0004.CDR (closed)

Time-based naming convention: S0005.CDT (open) becomes T20200315092011.CDR (closed)


Using SBC Core CDR Configuration Options

When you enable the use of the Q-SBC CDR format, you can use existing CDR-related configuration options on the SBC Core to influence how it generates Q-SBC CDR format files. The following table summarizes this processing.

Table 2: Configuration Options that Influence Q-SBC CDR Generation

SBC Core Configuration OptionImpact on Generating Q-SBC CDR Format Files

Maximum CDR file size:

set oam eventLog typeAdmin acct fileSize <256 to 65535>

The SBC Core configuration for maximum CDR file size determines the file size that triggers closing the Q-SBC CDR log file.

The default value is 2048 KB.

Number of CDR files to retain on the system:

set oam eventLog typeAdmin acct fileCount <1 to 2048>

The SBC Core determines the number of CDR files to retain based on the SBC Core configuration for maximum CDR file count.

The default is 32 files.

Whether to rename open CDR files:

set oam eventLog typeAdmin acct renameOpenfiles <disabled| enabled>

The SBC Core configuration that enables or disables renaming open CDR files determines whether the SBC Core renames open Q-SBC format CDR files. When enabled, SBC Core assigns the file extension .CDT to files while they are open and then renames them with the extension to .CDR when closing the file. For example:

S0004.CDT (open)
S0004.CDR (closed)

The default is disabled.

Whether to generate INTERMEDIATE CDRs:

set oam accounting admin intermediateAcctState <disabled | enabled>

The SBC Core determines whether to generate Q-SBC interim CDR records based on the configuration that controls whether the SBC Core generates INTERMEDIATE records. 

The default is disabled.

Note: If you enable this option, you must also specify an interval using the intermediateAcctInterval parameter. Refer to Accounting - CLI for more information.

Whether to generate START CDRs:

set oam accounting admin startAcctState <disabled | enabled>

The SBC Core determines whether to generate Q-SBC start1 CDR records based on the configuration that controls whether the SBC Core generates START records. 

The default is enabled.

Enabling CDR Checksum Validation

To verify CDR data integrity and authenticity when transmitting Q-SBC format CDR files to another system, you can configure the SBC Core to generate an HMAC-MD5 (Hash-Based Message Authentication Code - Message Digest algorithm 5) checksum and include it in each Q-SBC CDR log file. A receiving system uses the checksum to verify the file transmitted correctly and that there was no data tampering during transmission. When you enable checksum generation, the SBC inserts a file header into each CDR log file it generates that contains identifying information about the source network and file contents. When it executes the HMAC-MD5 hashing algorithm to generate the checksum, the SBC uses an operator-configured, private shared key. The SBC converts the resulting binary output from the algorithm to a text format that is consistent with the rest of the CDR file and appends it as the last line in the CDR log file. The processing system that receives these CDR log files must be equipped with the private shared key to be able to verify that the file is valid. The fields in the following table comprise the header added to CDR files when checksum validation is enabled. A semicolon (;) separates each header field and the SBC adds a carriage return at the end of the header.

Specifying Call Duration Rounding Policy

By default, if a call duration includes a fraction of a second, the SBC calculates the call duration values by rounding down to the nearest second if the partial second duration is below 500 milliseconds, and rounds up when the fraction is 500 milliseconds or greater. You have the option to configure the SBC to round up to the next second if the call duration includes any part of a second. This process applies to the values shown in Q-SBC CDR fields 3 and 36. CDR field 47 shows call duration to the millisecond and is not impacted by this configuration.

Configuring Q-SBC CDR Format Options

The SBC Core provides global configurations to enable generating CDRs in Q-SBC format, to enable checksum validation of the CDR files, and to specify call duration rounding policy. A user must have admin privileges to configure these options.

Command Syntax

The Q-SBC CDR format configuration options have the following syntax. 

% set oam accounting qSbcCdr admin 
     addChecksum < disabled | enabled >    
     callDurationRoundUp <enabled | disabled>
     checksumKey <key>
     state  <disabled | enabled>

Command Parameters

Table 3: Q-SBC CDR Configuration Parameters

ParameterDescription
addChecksum

Enable this flag to add checksum validation to the Q-SBC format CDR file. When enabled, the SBC inserts a file header into each CDR log file and then executes the HMAC-MD5 hashing algorithm to generate a checksum for the file, using an operator-configured, private shared key. The SBC converts the resulting binary output from the algorithm to a text format that is consistent with the rest of the CDR file and appends it as the last line in the CDR log file. The options are:

  • disabled (default)
  • enabled

Note: To enable this option, you must also configure a checksumKey and you must enable the option to rename open CDR files (set oam eventLog typeAdmin acct renameOpenfiles enabled).

callDurationRoundUp

 Enable this flag to have the SBC round up to the next second in Q-SBC CDR call duration fields 3 and 6 if the call duration includes any part of a second. When disabled the SBC rounds down if the partial second duration is less than 500 milliseconds. The options are:
  • disabled (default)
  • enabled

checksumKey

Specifies the checksum key to use when generating the CDR file checksum. The key value can contain upper/lower case characters and digits only. The key must be between 16 and 64 characters in length.

state

When enabled, the SBC generate CDR files in Q-SBC format. When disabled, the CDR file format is the standard SBC Core CDR format. The options are:
  • disabled (default)
  • enabled

If the SBC is configured to generate intermediate CDRs, a switch of CDR formats to either format type will generate an intermediate CDR for each active call.

Note: Ribbon recommends that you change the state value prior to deployment or in a maintenance window, when there are no active calls in the system. If calls are in progress when you change CDR format, it is possible that START records will be written in one format and STOP records in another.


CLI Configuration Example

The following series of commands enables generating CDRs in Q-SBC format and enables checksum validation.

% set oam accounting qSbcCdr admin state enabled
% set oam accounting qSbcCdr admin addChecksum enabled     
% set oam accounting qSbcCdr admin checksumKey Qwer12Asdf09Zxcv34
% commit