# EDR Module Configuration Mode Commands

The EDR Module Configuration Mode allows you to configure Event Data Record (EDR) file transfer parameters.

IMPORTANT:

The commands or keywords/variables that are available are dependent on platform type, product version, and installed license(s).
cdr

This command allows you to configure EDR/UDR file transfer parameters.
Platform:

ASR 5000

ASR 5500
Product:

All
Privilege:

Security Administrator, Administrator
Syntax

    cdr { purge { storage-limit storage_limit | time-limit time_limit } [ max-files max_records_to_purge ] | push-interval push_interval | push-trigger space-usage-percent trigger_percentage | remove-file-after-transfer | transfer-mode { pull [ module-only ] | push primary { encrypted-url encrypted_url | url url } [ [ max-files max_records ] [ max-tasks task_num ] [ module-only ] [ secondary { encrypted-secondary-url encrypted_secondary_url | secondary-url secondary_url } ] [ via local-context ] + ] | use-harddisk }default cdr [ purge | push-interval | push-trigger
    space-usage-percent | remove-file-after-transfer | transfer-mode [ module-only | push via ] | use-harddisk ] +no cdr [ purge | remove-file-after-transfer | use-harddisk ] +

default

Configures the default setting for the specified keyword(s):

- purge: Disabled
- push-interval: 300 seconds
- push-trigger: 80 percent
- remove-file-after-transfer: Disabled
- transfer mode: Pull
- push via: LC is used for push
- use-harddisk: Disabled

IMPORTANT:

The use-harddisk keyword is available only on the ASR 5000 and ASR 5500 chassis.
no

If previously configured, disables the specified configuration:

- purge: Disables purging of records.
- remove-file-after-transfer: Retains a copy of the file even after it has been pushed or pulled to another server.
- use-harddisk: Disables data storage on the ASR 5000 SMC hard disk or ASR 5500 hard disk array.

IMPORTANT:

The use-harddisk keyword is available only on the ASR 5000 and ASR 5500 chassis.
purge { storage-limit storage_limit | time-limit time_limit } [ max-files max_records_to_purge ]

Specifies to purge/delete the EDR records based on "time" or "volume" limit.

When the configured threshold limit is reached on the hard disk drive, the records that are created dynamically in the /mnt/hd-raid/data/records/ directory are automatically deleted. Files that are manually created should be deleted manually.

- storage-limit storage_limit: Specifies to start deleting files when the specified megabytes of space is used for storage. storage_limit specifies the volume limit for the record files, in megabytes, and must be an integer from 10 through 143360.
- time-limit time_limit: Specifies to start deleting files older than the specified time limit. time_limit specifies the time limit for the record files, and must be an integer from 600 through 2592000.
- max-files max_records_to_purge: Specifies the maximum number of records to purge. max_records_to_purge must be an integer from 1000 through 10000.

push-interval push_interval

Specifies the transfer interval (in seconds) to push EDR and UDR files to an external file server.

push_interval must be an integer from 60 through 3600.

Default: 300
push-trigger space-usage-percent trigger_percentage

Specifies the EDR/UDR disk space utilization percentage, upon reaching which an automatic push is triggered and files are transferred to the configured external server.

trigger_percentage specifies the EDR/UDR disk utilization percentage for triggering push, and must be an integer from 10 through 80.

Default: 80
remove-file-after-transfer

Specifies that the system must delete EDR/UDR files after they are transferred to the external file server. Default: Disabled
transfer-mode { pull [ module-only ] | push primary { encrypted-url encrypted_url | url url } [ [ max-files max_records ] [ max-tasks task_num ] [ module-only ] [ secondary { encrypted-secondary-url encrypted_secondary_url | secondary-url secondary_url } ] [ via local-context ] + ]

Specifies the EDR/UDR file transfer mode—how the EDR and UDR files are transferred to an external file server.

- pull: Specifies that the L-ESS (for ASR 5000) or external server (for ASR 5500) is to pull the EDR files.
- push: Specifies that the system is to push EDR files to the configured L-ESS (for ASR 5000) or external server (for ASR 5500).
- max-files max_records: Specifies the maximum number of files sent per iteration based on configured file size.Default: 4000
- max-tasks task_num: Specifies the maximum number of tasks (child processes) that will be spawned to push the files to the remote server. The task_num must be an integer from 4 through 8.Default: 4

  IMPORTANT:

  Note that increasing the number of child processes will improve the record transfer rate. However, spawning more child will consume additional resource. So, this option needs to be used with proper resource analysis.
- module-only: Specifies that the transfer-mode is only applicable to the EDR module; if not configured it is applicable to both EDR and UDR modules. This enables to support individual record transfer-mode configuration for each module.
- primary encrypted-url encrypted_url: Specifies the primary URL location in encrypted format to which the system pushes the EDR files.encrypted_url must be the location in an encrypted format, and must be an alphanumeric string of 1 through 1024 characters.
- primary url url: Specifies the primary URL location to which the system pushes the EDR files.url must be the location, and must be an alphanumeric string of 1 through 1024 characters in the “//user:password@host:[port]/directory” format.
- secondary encrypted-secondary-url encrypted_secondary_url: Specifies the secondary URL location in encrypted format to which the system pushes the EDR files when the primary location is unreachable or fails.encrypted_secondary_url must be the secondary location in an encrypted format, and must be an alphanumeric string of 1 through 1024 characters in the “//user:password@host:[port]/directory” format.
- secondary secondary-url secondary_url: Specifies the secondary location to which the system pushes the EDR files when the primary location is unreachable or fails.secondary_url must be the secondary location, and must be an alphanumeric string of 1 through 1024 characters in the “//user:password@host:[port]/directory” format.
- via local-context: Configuration to select LC/SPIO for transfer of EDRs. The system pushes the EDR files via SPIO in the local context.

use-harddisk

IMPORTANT:

The use-harddisk keyword is available only on the ASR 5000 and ASR 5500 chassis.

ASR 5000: Specifies that on the ASR 5000 chassis the hard disk on the SMC be used to store EDR/UDR files. On configuring to use the hard disk for EDR/UDR storage, EDR/UDR files are transferred from packet processing cards to the hard disk on the SMC. Default: Disabled

ASR 5500: Specifies that on the ASR 5500 chassis the hard disk the FSC hard disk array be used to store EDR/UDR files. On configuring to use the hard disk for EDR/UDR storage, EDR/UDR files are transferred from DPCs to the hard disk array. Default: Disabled
+

Indicates that more than one of the previous keywords can be entered within a single command.
Usage:

Use this command to configure how the EDRs are moved and stored.

On the ASR 5000 or ASR 5500 chassis, you must run this command only from the local context. If you run this command in any other context it will fail and result in an error message.

If PUSH transfer mode is configured, the L-ESS (for ASR 5000) or external server (for ASR 5500) URL to which the EDR files need to be transferred to must be specified. The configuration allows a primary and a secondary server to be configured. Configuring the secondary server is optional. Whenever a file transfer to the primary server fails for four consecutive times, the files will be transferred to the secondary server. The transfer will switch back to the original primary server when:

- Four consecutive transfer failures to the secondary server occur.
- After switching from the primary server, 30 minutes elapses.

When changing the transfer-mode from pull to push, disable the PULL from the L-ESS (for ASR 5000) or external server (for ASR 5500) and then change the transfer mode to push. Make sure that the push server URL configured is accessible from the local context. Also, make sure that the base directory that is mentioned contains udr directory created within it.

When changing the transfer mode from push to pull, after changing, enable PULL on the L-ESS (for ASR 5000) or external server (for ASR 5500). Any of the ongoing PUSH activity will continue till all the scheduled file transfers are completed. If there is no PUSH activity going on at the time of this configuration change, all the PUSH related configuration is nullified immediately.

The cdr use-harddisk command is available only on the ASR 5000 and ASR 5500 chassis. This command can be run only in a context where CDRMOD is running. Configuring in any other context will result in failure with the message “Failure: Please Check if CDRMOD is running in this context or not.”

The cdr use-harddisk command can be configured either in the EDR or UDR module, but will be applicable to both record types. Configuring in one of the modules will prevent the configuration to be applied in the other module. Any change to this configuration must be done in the module in which it was configured, the change will be applied to both record types.

The VPNMgr can send a maximum of 4000 files to the remote server per iteration. However if the individual file size is big (say when compression is not enabled), then while transferring 4000 files SFTP operation takes a lot of time. To prevent this, the cdr transfer-mode push command can be configured with the keyword max-files, which allows operators to configure the maximum number of files sent per iteration based on configured file size.
Example:
The following command retains a copy of the data file after it has been transferred to the storage location:

    no cdr remove-file-after-transfer

end

Exits the current configuration mode and returns to the Exec mode.
Product:

All
Privilege:

Security Administrator, Administrator
Syntax

    end

Usage:

Use this command to return to the Exec mode.
exit

Exits the current mode and returns to the parent configuration mode.
Product:

All
Privilege:

Security Administrator, Administrator
Syntax

    exit

Usage:

Use this command to return to the parent configuration mode.
file

This command allows you to configure EDR file parameters.
Platform:

ASR 5000

ASR 5500
Product:

All
Privilege:

Security Administrator, Administrator
Syntax

    file [ charging-service-name { include | omit } ] [ compression { gzip | none } ] [ current-prefix string ] [ delete-timeout seconds ] [ directory directory_name ] [ edr-format-name ] [ exclude-checksum-record ] [ field-separator { hyphen | omit | underscore } ] [ file-sequence-number
    rulebase-seq-num ] [ headers ] [ name file_name ] [ reset-indicator ] [ rotation [ num-records number | time seconds | volume bytes ] ] [ sequence-number { length length | omit | padded | padded-six-length | unpadded } ] [ storage-limit limit ] [ single-edr-format ] [ time-stamp { expanded-format | rotated-format | unix-format } ] [ trailing-text string ] [ trap-on-file-delete ] [ xor-final-record ] +default file [ charging-service-name ] [ compression ] [ current-prefix ] [ delete-timeout ] [ directory ] [ edr-format-name ] [ field-separator ] [ file-sequence-number ] [ headers ] [ name ] [ reset-indicator ] [ rotation { num-records | time | volume } ] [ sequence-number ] [ storage-limit ] [ time-stamp ] [ trailing-text ] +

default

Configures the default setting for the specified keyword(s).
charging-service-name { include | omit }

Specifies to include/exclude name of the charging service in the file name.

- include: Include name of the charging service in the EDR file name.
- omit: Exclude name of the charging service in EDR file name.

compression { gzip | none }

Specifies compression of EDR files.

- gzip: Enables GNU zip compression of the EDR file at approximately 10:1 ratio.
- none: Disables Gzip compression.

current-prefix string

Specifies a string to add to the beginning of the EDR file that is currently being used to store EDR records.

string must be an alphanumeric string of 1 through 31 characters.

Default: curr
delete-timeout seconds

Specifies a timeout period (in seconds) when completed EDR files are deleted. By default, files are never deleted.

seconds must be an integer from 3600 through 31536000.

Default: Disabled
directory directory_name

Specifies a subdirectory in the default directory in which to store EDR files.

directory_name must be an alphanumeric string of 1 through 191 characters.

Default: /records/edr
edr-format-name

Specifies creation of separate files for EDRs that have different formats. Name of the EDR format is included in the file name.
exclude-checksum-record

When entered, this keyword excludes the final record containing #CHECKSUM followed by the 32-bit Cyclic redundancy check (CRC) of all preceding records from the EDR file.

Default: Disabled (inserts checksum record into the EDR file header)
field-separator [ hyphen | omit | underscore ]

Specifies the field inclusion/exclusion type of separators between two fields of EDR file name:

- hyphen: Specifies to use “-” (hyphen) as the field separator.
- omit: Excludes the field separator.
- underscore: Specifies to use “_” (underscore) as the field separator.

file-sequence-number rulebase-seq-num

Specifies that the file name sequence numbers must be unique per rulebase and EDR format name combination.
headers

Includes a file header summarizing the record layout.
name file_name

Specifies a string to be used as the base file name for EDR files.

Default: edr

file_name must be an alphanumeric string of 1 through 31 characters. The file name format is as follows:

base_rulebase_format_sequencenum_timestamp

- base: Specifies the type of record in file or contains the operator-specified string.Default: edr
- rulebase: Specifies the name of the ACS rulebase. EDRs from different rulebases go into different EDR files.
- format: Specifies the name of the EDR format if single-edr-format is specified, else the format field (and the trailing underscore) is omitted from the file name.
- sequencenum: This is a 5-digit sequence number to detect the missing file sequence. It is unique among all EDR files on the system.
- timestamp: Contains a timestamp based on file creation time in UTC time in MMDDYYYYHHMMSS format.

EDR files that have not been closed have a string added to the beginning of their filenames.

Filename for an EDR file in CSV format that contains information for rulebase named rulebase1 and an EDR schema named edr_schema1 appears as follows:

edr_rulebase1_edr_schema1_00005_01302006143409

If the file name is not configured the system will create files for EDRs/UDRs/FDRs (xDRs) using the following template with limits to 256 characters:

basename_ChargSvcName_timestamp_SeqNumResetIndicator_FileSeqNumber

- basename: A global-based configurable text string that is unique per system that uniquely identifies the global location of the system running ACS.
- ChargSvcName: A system context-based configurable text string that uniquely identifies a specific context-based charging service
- timestamp: Date and time at the instance of file creation. Date and time in the form of “MMDDYYYYHHmmSS” where HH is a 24-hour value from 00-23
- SeqNumResetIndicator: A one-byte counter used to discern the potential for duplicated FileSeqNumber with a range of 0 to 255, which is incremented by a value of 1 for the following conditions:
  - Failure of an ACS software process on an individual PSC.
  - Failure of the system such that a second system takes over. For example, a backup or standby system put in place according to Interchassis Session Recovery.
  - File Sequence Number (FileSeqNumber) rollover from 999999999 to 0
- FileSeqNumber: Unique file sequence number for the file with 9 digit integer having range from 000000000 to 999999999. It is unique on each system.

File name for a closed xDR file in CSV format that contains information for ACS system xyz_city1 and charging service name preapaid2 with timestamp 12311969190000, and file sequence number counter reset indicator to 002 for file sequence number 034939002 appears as follows:

xyz_city1_preapaid2_12311969190000_002_034939002

File name for a running xDR file, not closed, in CSV format that contains information for the same parameters for file sequence number 034939003 prefixed with curr_ and appears as follows:

curr_xyz_city1_preapaid2_12311969190000_002_034939002

IMPORTANT:

When the "rulebase name" and "edr-format-name" options are enabled through this file command, if the "field-separator" value is "underscore" (default value) then, in the filename, the fields Rulebase name and EDR format name will be separated by "hyphen". If the "field-separator" value is "hyphen" then, in the filename, the fields Rulebase name and EDR format name will be separated by "underscore". This will ensure that the number of the fields in the filename is not increased and does not affect the backend billing system.
reset-indicator

Specifies inclusion of the reset indicator counter value, from 0 through 255, in the EDR file name, and is incremented (by one) whenever any of the following conditions occur:

- An ACSMgr/SessMgr process fails.
- A peer chassis has taken over in compliance with our Interchassis Session Recovery feature.
- The sequence number, see the sequence-number keyword, has rolled over to zero.

rotation { num-records number | time seconds | volume bytes }

Specifies when to close an EDR file and create a new one.

- num-records number: Specifies the number of records that should be added to the file. When the number of records in the file reaches the specified value, the file is complete.number must be an integer from 100 through 10240.Default: 1024
- time seconds: Specifies the period of time (in seconds) to wait before closing the EDR file and creating a new one.seconds must be an integer from 30 through 86400.Default: 3600
- volume bytes: Specifies the maximum size (in bytes) of the EDR file before closing it and creating a new one.bytes must be an integer from 51200 through 62914560.Note that a higher setting may improve the compression ratio when the compression keyword is set to gzip.

sequence-number { length length | omit | padded | padded-six-length | unpadded }

Specifies including/excluding sequence number in the file name.

- length length: Includes the sequence number with the specified length.length must be the length of the file sequence number, with preceding zeroes, in the file name, and must be an integer from 1 through 9.

  IMPORTANT:

  The length keyword is applicable in both EDR and UDR modules. When applied in both modules without the file udr-seq-num configuration, the minimum among the two values will come into effect for both the modules. With the file udr-seq-num keyword, each module will use its own value of length.
- omit: Excludes the sequence number from the file name.
- padded: Includes the padded sequence number with preceding zeros in the file name. This is the default setting.
- padded-six-length: Includes the padded sequence number with six preceding zeros in the file name.
- unpadded: Includes the unpadded sequence number in the file name.

single-edr-format

Creates separate files for EDRs having different formats.

Default: Disabled
storage-limit limit

Specifies deleting files when the specified amount of space (in bytes) is used up for EDR/UDR file storage RAM on packet processing cards.

IMPORTANT:

ASR 5000 and ASR 5500: limit must be an integer from 10485760 through 536870912. Default: 33554432

IMPORTANT:

The total storage limit is 536870912 bytes (512 MB). This limit is for both UDR and EDR files combined.
time-stamp { expanded-format | rotated-format | unix-format }

Specifies the timestamp of when the file was created be included in the file name.

- expanded-format: Specifies the UTC MMDDYYYYHHMMSS format.
- rotated-format: Specifies the time stamp format to YYYYMMDDHHMMSS format.
- unix-format: Specifies the UNIX format of x.y, where x is the number of seconds since 1/1/1970 and y is the fractional portion of the current second that has elapsed.

trailing-text string

Specifies the inclusion of an arbitrary text string in the file name.

string must be an alphanumeric string of 1 through 30 characters.
trap-on-file-delete

Instructs the system to send an SNMP notification (starCDRFileRemoved) when an EDR/UDR file is deleted due to lack of space.

Default: Disabled
xor-final-record

Specifies inserting an XOR checksum (in place of the CRC checksum) into the EDR file header if the exclude-checksum-record is left at its default setting.

Default: Disabled
+

Indicates that more than one of the keywords can be entered in a single command.
Usage:

Use this command to configure EDR file characteristics.
Example:
The following command sets the prefix of the current active EDR file to Current:

    file current-prefix Current

The following command sets the base file name to EDRfile:

    file name EDRfile