Configure CDR Push Using FTP

Acme SBC CDR Push FTP Configuration Guide

Document Purpose

This document has been written for Acme Packet Session Border Controller (SBC) Administrators. This document provides instructions for configuring the SBC to generate local CDR files. It also describes how to configure the SBC to push local CDR files to a remote FTP server using the FTP protocol. This document provides an example SBC configuration created by TransNexus technical support. TransNexus recommends that users contact Acme Packet technical support directly for help with any SBC configuration questions.

Document Conventions

Screenshots of SBC Command Line Interface (CLI) dialog are enclosed in a text box. Also, CLI variables that should be changed by the SBC administrator are noted with yellow highlight as shown in the example below.

acmesystem# conf t
acmesystem(configure)# session-router account-config
acmesystem(account-config)#
hostname localhost
acmesystem(account-config)# port 1813

Preparations

Install CDRConverter software package obtained from TransNexus, Inc. on a Linux server.

  • Enable FTP server on the Linux server hosting CDRConverter.
   # yum install vsftpd
 
   # vi /etc/vsftpd/vsftpd.conf
   ~
   anonymous_enable=NO
   ~
   xferlog_enable=YES ( If you enable xferlog, then the system will log messages for transfer attempts at /var/log/xferlog.)
 
   # service vsftpd start
  • Open port 21 in the local firewall.
   # vi /etc/sysconfig iptables
   ~
   -A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
  • If SELinux is required for your network, then issue the following command to allow the remote system (i.e. Broadworks or Acme) to change folders in order to reach the destination file transfer folder (i.e. ~BWS/1). Otherwise, you will see the error “500 OOPS: cannot change directory” when attempting a manual ftp to test if it is working.
   # /usr/sbin/setsebool -P ftp_home_dir 1
  • SELinux can also be disabled. This will require a system restart.
   # vi /etc/sysconfig/selinux
   ~
   #SELINUX=enforcing
   SELINUX=disabled

ACME SBC Configuration

Setting up the Account Configuration

Edit the SBC Account Configuration as shown below.

acmesystem# conf t
acmesystem(configure)# session-router account-config
acmesystem(account-config)# hostname localhost
acmesystem(account-config)# port 1813
acmesystem(account-config)# state enabled
acmesystem(account-config)# max-msg-delay 60
acmesystem(account-config)# max-wait-failover 100
acmesystem(account-config)# trans-at-close disabled
acmesystem(account-config)# generate-start OK
acmesystem(account-config)# generate-interim Unsuccessful-Attempt
acmesystem(account-config)# prevent-duplicate-attrs enabled
acmesystem(account-config)# done
account-config
hostname localhost
port 1813
strategy Hunt
protocol RADIUS
state enabled
max-msg-delay 60
max-wait-failover 100
trans-at-close disabled
file-output disabled
max-file-size 1000000
max-files 5
file-path /ramdrv/logs/
file-compression disabled
file-rotate-time 0
file-delete-alarm disabled
ftp-push disabled
ftp-address
ftp-port
ftp-user
ftp-password
ftp-remote-path
cdr-output-redundancy enabled
interim-stats-id-types
generate-start OK
generate-interim
Unsuccessful-Attempt
intermediate-period 0
prevent-duplicate-attrs enabled
vsa-id-range
cdr-output-inclusive disabled
ftp-strategy Hunt
ftp-max-wait-failover 120
last-modified-by admin@172.16.4.7
last-modified-date 2011-03-03 18:50:15
acmesystem(account-config)# exit
acmesystem(session-router)# exit
acmesystem(configure)# done
acmesystem# save-config
checking configuration
++++++++++++++++++++++++++++++++++++++++++-
Results of config verification:
1 configuration error
Run 'Verify-config' for more details
++++++++++++++++++++++++++++++++++++++++++-
Save-Config received, processing.
waiting for request to finish
Request to 'SAVE-CONFIG' has Finished,
Save complete
Currently active and saved configurations do not match!
To sync & activate, run 'activate-config' or 'reboot activate'.
acmesystem# activate-config
Activate-Config received, processing.
waiting for request to finish
Request to 'SCTIVATE-CONFIG' has Finished,
Activate Complete
acmesystem#

Enable local CDR storage

acmesystem# conf t
acmesystem(configure)# session-router account-config
acmesystem(account-config)# select
acmesystem(account-config)# file-output enabled
acmesystem(account-config)# max-file-size 1000000
acmesystem(account-config)# max-files 5
acmesystem(account-config)# file-path /ramdrv/logs
acmesystem(account-config)# file-rotate-time 5
acmesystem(account-config)# cdr-output-redundancy enabled
acmesystem(account-config)# done
account-config
hostname localhost
port 1813
strategy Hunt
protocol RADIUS
state enabled
max-msg-delay 60
max-wait-failover 100
trans-at-close disabled
file-output enabled
max-file-size 1000000
max-files 5
file-path /ramdrv/logs/
file-compression disabled
file-rotate-time 5
file-delete-alarm disabled
ftp-push disabled
ftp-address
ftp-port
ftp-user
ftp-password
ftp-remote-path
cdr-output-redundancy enabled
interim-stats-id-types
generate-start OK
generate-interim
Unsuccessful-Attempt
intermediate-period 0
prevent-duplicate-attrs enabled
vsa-id-range
cdr-output-inclusive disabled
ftp-strategy Hunt
ftp-max-wait-failover 120
last-modified-by admin@172.16.4.7
last-modified-date 2011-03-03 18:53:34
acmesystem(account-config)# exit
acmesystem(session-router)# exit
acmesystem(configure)# done
acmesystem# save-config
checking configuration
++++++++++++++++++++++++++++++++++++++++++-
Results of config verification:
1 configuration warning
Run 'verify-config' for more details
++++++++++++++++++++++++++++++++++++++++++-
Save-Config received, processing.
waiting for request to finish
Request to 'SAVE-CONFIG' has Finished,
Save complete
Currently active and saved configurations do not match!
To sync & activate, run 'activate-config' or 'reboot activate'.
acmesystem# activate-config
Activate-Config received, processing.
waiting for request to finish
Request to 'ACTIVATE-CONFIG' has Finished,
Activate Complete
acmesystem#

Setting the CSV file format

acmesystem# conf t
acmesystem(configure)# session-router account-config 
acmesystem(account-config)# select
acmesystem(account-config)# cdr-output-inclusive enabled
acmesystem(account-config)# done
account-config
hostname localhost
port 1813
strategy Hunt
protocol RADIUS
state enabled
max-msg-delay 60
max-wait-failover 100
trans-at-close disabled
file-output enabled
max-file-size 1000000
max-files 5
file-path /ramdrv/logs/
file-compression disabled
file-rotate-time 5
file-delete-alarm disabled
ftp-push disabled
ftp-address 
ftp-port 21
ftp-user 
ftp-password 
ftp-remote-path 
cdr-output-redundancy enabled
interim-stats-id-types 
generate-start OK
generate-interim 
Unsuccessful-Attempt
intermediate-period 0
prevent-duplicate-attrs enabled
vsa-id-range 
cdr-output-inclusive enabled
ftp-strategy Hunt
ftp-max-wait-failover 120
last-modified-by admin@172.16.4.7
last-modified-date 2011-03-03 18:56:39
acmesystem(account-config)# exit
acmesystem(session-router)# exit
acmesystem(configure)# done
acmesystem# save-config 
checking configuration
++++++++++++++++++++++++++++++++++++++++++-
Results of config verification:
1 configuration warning
Run 'verify-config' for more details
++++++++++++++++++++++++++++++++++++++++++-
Save-Config received, processing.
waiting for request to finish
Request to 'SAVE-CONFIG' has Finished, 
Save complete
Currently active and saved configurations do not match!
To sync & activate, run 'activate-config' or 'reboot activate'.
acmesystem# activate-config 
Activate-Config received, processing.
waiting for request to finish
Request to 'ACTIVATE-CONFIG' has Finished, 
Activate Complete
acmesystem#

Enabling FTP Push

acmesystem# conf t
acmesystem(configure)# session-router account-config 
acmesystem(account-config)# select
acmesystem(account-config)# ftp-push enabled
acmesystem(account-config)# ftp-address 172.16.4.105
acmesystem(account-config)# done
account-config
hostname localhost
port 1813
strategy Hunt
protocol RADIUS
state enabled
max-msg-delay 60
max-wait-failover 100
trans-at-close disabled
file-output enabled
max-file-size 1000000
max-files 5
file-path /ramdrv/logs/
file-compression disabled
file-rotate-time 5
file-delete-alarm disabled
ftp-push enabled
ftp-address 172.16.4.105
ftp-port 21
ftp-user 
ftp-password 
ftp-remote-path 
cdr-output-redundancy enabled
interim-stats-id-types 
generate-start OK
generate-interim 
Unsuccessful-Attempt
intermediate-period 0
prevent-duplicate-attrs enabled
vsa-id-range 
cdr-output-inclusive enabled
ftp-strategy Hunt
ftp-max-wait-failover 120
last-modified-by admin@172.16.4.7
last-modified-date 2011-03-03 19:05:58
acmesystem(account-config)# exit
acmesystem(session-router)# exit
acmesystem(configure)# done
acmesystem# save-config 
checking configuration
Save-Config received, processing.
waiting for request to finish
Request to 'SAVE-CONFIG' has Finished, 
Save complete
Currently active and saved configurations do not match!
To sync & activate, run 'activate-config' or 'reboot activate'.
acmesystem# activate-config 
Activate-Config received, processing.
waiting for request to finish
Request to 'ACTIVATE-CONFIG' has Finished, 
Activate Complete
acmesystem#

Configuring Push Receiver

This section explains how to configure the SBC Push Receiver to push CDR files from the SBC to the correct CDRConverter directory. The format of CDR files created by Acme Packet SBCs vary depending on the SBC firmware version. CDRConverter has a unique directory for each CDR file format.

The /home/ospadmin/OSP/OSPreyPackage/cdrconverter/data/INPUT/ directory contains the following sub-directories which should be used for different CDR file formats from the corresponding Acme Packet firmware versions:

| INPUT Sub-directory | Acme SBC Firmware Version | | ++++++++++++++++++- | ++++++++++++++++++++++++- | | AcmeC6.1-2 | C6.1 | | AcmeC6.2-2 | C6.2 | | AcmeC6.3-1 | C6.3 | | AcmeC6.4-1 | C6.4 | | AcmeC7.2 | C7.2 | | AcmeD7.1 | D7.1 | | AcmeD7.2-1 | D7.2 | | AcmeD7.2-2 | D7.2 |

Each CDRConverter INPUT sub-directory has thirty-two sub-directories named /1, /2, … /32. If multiple SBCs use the same firmware version, TransNexus recommends that CDR files from each SBC be placed in different sub-directories. For example, if CDR files are copied from two SBC running firmware version C6.2, then the CDR files from one SBC should be copied to /AcmeC6.2-21 and the CDR file from the other SBC should be copied to /AcmeC6.2-22.

An example configuration is provided below.

acmesystem# conf t
acmesystem(configure)# session-router account-config 
acmesystem(account-config)# select
acmesystem(account-config)# push-receiver 
acmesystem(push-receiver)# server 172.16.4.105
acmesystem(push-receiver)# port 21
acmesystem(push-receiver)# remote-path/home/ospadmin/OSP/OSPreyPackage/cdrconverter/data/INPUT/AcmeC6.2-2/1
acmesystem(push-receiver)# protocol ftp
acmesystem(push-receiver)# username ospadmin
acmesystem(push-receiver)# password ospadmin
Enter new password: ******** 
Enter password again: ********
acmesystem(push-receiver)# done
push-receiver
server 172.16.4.105
port 21
admin-state enabled
remote-path
/home/ospadmin/OSP/OSPreyPackage/cdrconverter/data/INPUT/AcmeC6.2-2/1
filename-prefix 
priority 4
protocol ftp
username ospadmin
password ********
public-key
acmesystem(push-receiver)# exit
acmesystem(account-config)# done
account-config
hostname localhost
port 1813
strategy Hunt
protocol RADIUS
state enabled
max-msg-delay 60
max-wait-failover 100
trans-at-close disabled
file-output enabled
max-file-size 1000000
max-files 5
file-path /ramdrv/logs/
file-compression disabled
file-rotate-time 5
file-delete-alarm disabled
ftp-push enabled
ftp-address 172.16.4.105
ftp-port 21
ftp-user 
ftp-password 
ftp-remote-path 
cdr-output-redundancy enabled
interim-stats-id-types 
generate-start OK
generate-interim 
Unsuccessful-Attempt
intermediate-period 0
prevent-duplicate-attrs enabled
vsa-id-range 
cdr-output-inclusive enabled
ftp-strategy Hunt
ftp-max-wait-failover 120
push-receiver
server 172.16.4.105
port 21
admin-state enabled
remote-path
/home/ospadmin/OSP/OSPreyPackage/cdrconverter/data/INPUT/AcmeC6.2-2/1
filename-prefix 
priority 4
protocol ftp
username ospadmin
password ********
public-key
last-modified-by admin@172.16.4.7
last-modified-date 2011-03-03 19:09:28
acmesystem(account-config)# exit
acmesystem(session-router)# exit
acmesystem(configure)# done
acmesystem# save-config 
checking configuration
Save-Config received, processing.
waiting for request to finish
Request to 'SAVE-CONFIG' has Finished, 
Save complete
Currently active and saved configurations do not match!
To sync & activate, run 'activate-config' or 'reboot activate'.
acmesystem# 
acmesystem# activate-config 
Activate-Config received, processing.
waiting for request to finish
Request to 'ACTIVATE-CONFIG' has Finished, 
Activate Complete
acmesystem#

Final Accounting Configuration

This section provides a complete example after completing all configuration steps. Lines shaded in gray are available by default. These lines were not manually entered. Lines highlighted in yellow were manually entered into configuration.

acmesystem# show running-config account-config 
account-config
hostname localhost
port 1813
strategy Hunt
protocol RADIUS
state enabled
max-msg-delay 60
max-wait-failover 100
trans-at-close disabled
file-output enabled
max-file-size 1000000
max-files 5
file-path /ramdrv/logs/
file-compression disabled
file-rotate-time 5
file-delete-alarm disabled
ftp-push enabled
ftp-address 172.16.4.105
ftp-port 21
ftp-user 
ftp-password 
ftp-remote-path 
cdr-output-redundancy enabled
interim-stats-id-types 
generate-start OK
generate-interim 
Unsuccessful-Attempt
intermediate-period 0
prevent-duplicate-attrs enabled
vsa-id-range 
cdr-output-inclusive enabled
ftp-strategy Hunt
ftp-max-wait-failover 120
push-receiver
server 172.16.4.105
port 21
admin-state enabled
remote-path
/home/ospadmin/OSP/OSPreyPackage/cdrconverter/data/INPUT/AcmeC6.2-2/1
filename-prefix 
priority 4
protocol ftp
username ospadmin
password ********
public-key
last-modified-by admin@172.16.4.7
last-modified-date 2011-03-03 19:09:28
task done
acmesystem#

Additional Configuration Notes

The data source for the following notes is Oracle Communications Session Border Controller Accounting Guide.

Account Configuration:

  1. hostname - Defaults to and must remain localhost.

  2. port - Retain the default value of 1813 or enter the number of the UDP port associated with the Net-Net SBC from which RADIUS messages are sent. Minimum: 1025 Maximum: 65535

  3. strategy - Indicate the strategy you want used to select the accounting servers to which the Net-Net SBC will send its accounting messages.

  4. state - Retain the default value enabled if you want the account configuration active on the system. Enter disabled if you do not want the account configuration active on the system.

  5. max-msg-delay - Retain the default value of 60 seconds or indicate the length of time in seconds that you want the Net-Net SBC to continue trying to send each accounting message. During this delay, the Net-Net SBC can hold a generic queue of 4096 messages. Minimum: zero (0) Maximum: 232-1

  6. max-wait-failover - Retain the default value of 100 messages or indicate the maximum number of accounting messages the Net-Net SBC can store its message waiting queue for a specific accounting server, before it is considered a failover situation. Once this value is exceeded, the Net-Net SBC attempts to send it accounting messages, including its pending messages, to the next accounting server in its configured list. Minimum: one (1) message Maximum: 4096 messages

  7. trans-at-close - Retain the default value of disabled if you do not want to defer the transmission of message information to the close of a session. Enter enabled if you want to defer message transmission.

  8. generate-start - Retain the default value ok if you want the RADIUS Start message to be generated once the Net-Net SBC receives an OK message in response to an INVITE. (A RADIUS Start message informs the accounting server that a SIP session has started.) Other options include:
    Start - RADIUS Start message should not be generated.
    Invite - RADIUS Start message should be generated once the Net-Net SBC receives a SIP session INVITE.

  9. generate-interim - Retain the default value reinvite response to cause theNet-Net SBC to transmit a RADIUS Interim message. (A RADIUS Interim message indicates to the accounting server that the SIP session parameters have changed.)

To enable local CDR storage:

  1. file-output - Enable this parameter for the Net-Net SBC to create comma delimited CDRs (generated from RADIUS records). By default, this parameter is disabled.

  2. file-path - You must configure this path or the CDR push feature will not work. Set the path to use on the Net-Net SBC for file storage from these two options: /ramdrv or /ramdrv/logs.

To use FTP push, you must configure a usable path.

  1. max-file-size - Set the maximum file size in bytes permitted for each CDR file. The default and minimum value is 1000000. The maximum value is 108.

  2. max-files - Set the maximum number of files to be stored on the Net-Net SBC at one time. You can configure the Net-Net SBC to store as few as one file or as many as 10. The default is 5.

  3. file-rotate-time - Set how often in minutes you want to rotate the stored files; the Net-Net SBC will overwrite the oldest file first. The minimum rotation time is 2 minutes; the default is 60 minutes. This parameter defaults to 0, and leaving it set to the default means that the Net-Net SBC will not rotate the files.

  4. cdr-output-redundancy - Set this parameter to enabled for the Net-Net SBC to store a redundant copy of the local CSV file to the standby HA node.

To enable fixed value placement in CSV files for RADIUS CDRs:

If you are adding support for this feature to a pre-existing accounting configuration, then you must use the ACLI select command so that you can edit it.

  1. vsa-id-range - Either leave this parameter blank (default), or enter the complete range of VSAs for the Net-Net OS release loaded on your system. The following example shows what you would enter to use all of the VSAs for Net-Net OS Release 4.1.4p4 for a system that is not running QoS.
   ACMEPACKET(account-config)# vsa-id-range 1-4,10-14,20-24,28,29,32-71,74-136
  1. cdr-output-inclusive - Set this parameter to enabled to fill in 0s in otherwise empty fields in local CDR files. It is disabled by default.

To enable FTP push:

  1. ftp-push - Set the state of FTP push feature to enabled. It is disabled by default.

  2. Type push-receiver and press .

   ACMEPACKET(account-config)# push-receiver
  1. server - Enter the IP address of this push receiver FTP server.

  2. port - Enter the port number of this push receiver FTP server.

  3. remote-path - Enter the remote pathname to which you want CDR files to be sent on the push receiver. There is no default for this parameter.

  4. filename-prefix - Enter the filename prefix (as a string) to prepend to the to the CDR files the Net-Net SBC sends to the push receiver. The Net-Net SBC does not rename local files. There is no default for this parameter.

  5. protocol - Enter SFTP if you want to change the transport protocol for this push receiver from its default, FTP.

  6. username - Enter the username the Net-Net SBC uses when connecting to this push receiver. There is no default for this parameter. This parameter must be configured whether you are using unencrypted FTP, password or public key authentication.

  7. password - Enter the password corresponding to the username the Net-Net SBC uses when connecting to this push receiver. There is no default for this parameter.

  8. public-key - Enter the public key profile to use for authentication to this push receiver if this is the preferred form of authentication. If you define this as an SFTP push receiver but do not set the public-key value, the Net-Net SBC will use password authentication. There is no default for this parameter.

  9. Save and activate your configuration.

Known Issues

  1. Different SBC firmware versions may have different configuration options. For example, sc610 does not have account-config->protocol.

  2. Some known issues of different firmware versions, sc610 must be configured with account-server to generate correct local CDRs. Other firmware versions do not have to. The state option of account-server must be set to disabled. sc620 has to configure ftp-address although it is not used. It may not be necessary for other versions.