In this section:
The accounting object controls call related accounting data and the final destination for the accounting records (CDRs). The SBC Core supports the following as possible destinations for the accounting records:
- An external CDR server – SBC will transfer accounting records via SFTP if writing records to an external server is enabled. The CDR file roll is controlled through
eventLog
configuration based on file size and time interval. Depending on the application, you can set a low roll interval in order to transfer the files to the remote server. RADIUS accounting server – Accounting records can also be written to an external RADIUS accounting server.
NoteRecords are always written to the local disk.
You can configure the SBC accounting object using the following options:
admin
– Set up CDR Admin configuration. For more information, see Configuring CDR Admin Parameters below.cdrServer
– Transfer files to external CDR server. For more information, see Configuring an External CDR Server below.radius
– Transfer files to external RADIUS server. For more information, see Configuring RADIUS Accounting Support below.
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 SBCs. Refer to Accounting - Q-SBC CDR - CLI for more information.
Configure CDR Admin Parameters
To set up CDR configuration, use the following command syntax.
Command Syntax
% set oam accounting admin cdrVerToGenerate <0 | 10.1> earlyAttemptState <disabled | enabled> eventAcctState <disabled | enabled> eventAcctPsxInfoState <disabled | enabled> eventAcctMethods <eventMessage | eventNotify | eventOptions | eventPublish | eventRegister | eventRefer | eventSubscribe> generationMode <allcalls | destination | none | origination> generateSipRecordingCdr <disabled | enabled> intermediateAcctInterval <interval, in seconds> intermediateAcctMode <interval | telcordia> intermediateAcctState <disabled | enabled> intermediateLongDurGenTime <hr:min:sec:deci-sec> intermediateLongDurThreshold <duration, in hours> intermediateTrapState <disabled | enabled> maxRecordSequenceNum <uint16 | uint32> patchVer <0-255> populateIpTgFarEndSwitchType <disabled | enabled> populateNonPortedLnpNumbers <false | true> populateRemoteGsxInfoState <disabled | enabled> secondStageInheritFirstStage <false | true> sendEgressCdrInfoOnReceipt <false | true> startAcctState <disabled | enabled> % show oam accounting admin
Command Parameters
Parameter | Length/Range | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
cdrVerToGenerate | N/A | The SBC version on which the CDRs must remain formatted even after the SBC software is upgraded. The valid values for the configuration option are 0 or 10.1 for the SBC 10.1 release. The default value for the configuration is 0 (disabled). If the option is disabled, the CDRs are formatted according to the CAM version of the software release loaded on the SBC. Note: The valid values list will change over time to support future releases.
Examples of how the configuration control works, if the users do not want to update the billing systems with every SBC upgrade:
| ||||||||||
| N/A | Specifies whether or not to generate early ATTEMPT records. An early ATTEMPT record is associated with an early call disconnect, before the request is sent. Options are:
Note: The SBC SIP code prevents the SBC processing issues by clearing calls when in congestion, as described below:
| ||||||||||
eventAcctState | N/A | Enable flag to generate EVENT records for OOD SUBSCRIBE, REFER, NOTIFY, REGISTER, OPTIONS, MESSAGE and PUBLISH event records. CDRs are logged when OPTIONS is relayed to the egress side.
| ||||||||||
eventAcctPsxInfoState | N/A | Log event records containing PSX information, such as PSX Congestion level, PSX Processing Time, Policy Response Call Type, PSX Billing Info, Route Label, etc.
| ||||||||||
eventAcctMethods | N/A | This container includes the following Event Accounting Method flags. The SBC logs OOD EVENT records for those flags which are enabled. All flags are disabled by default.
To use this feature,
| ||||||||||
| N/A | Enables or disables generation of CDRs for recording SIP calls.
| ||||||||||
| N/A | The type of calls for which accounting records should be logged on this SBC. Options are:
For SIP and H.323 calls, accounting records are generated for all calls (ingress and egress), unless this value is none. | ||||||||||
| N/A | Intermediate Accounting Interval in seconds. (range: 5-86400 / default = 60). This object only applies when
sonusAcctIntAcctMode is set to interval(1). | ||||||||||
| N/A | The method by which intermediate records are generated.
| ||||||||||
| N/A | Use this flag to specify whether INTERMEDIATE Accounting Records are generated for calls which are stable for a duration exceeding the intermediate account interval.
| ||||||||||
| N/A | Octet string that identifies the GMT time to generate Telcordia Long Duration accounting records. The format is 00:00:00.0 where each field range is: field octets contents range ----- ------- ------------ ----- 1 1 hour 0..23 2 2 minutes 0..59 3 3 seconds 0..60 (use 60 for leap-second) 4 4 deci-seconds 0..9 | ||||||||||
| 1-24 | The Accounting INTERMEDIATE Records Duration (in hours). This parameter is only applicable when intermediate records mode is set to telcordia. The INTERMEDIATE record is generated for each call whose duration exceeds this threshold on long duration generation time. (default = 24). | ||||||||||
| N/A | Specifies whether a trap is generated when an INTERMEDIATE record is generated.
| ||||||||||
| N/A | Maximum length of the Record Sequence Number field in the CDR. Options are:
| ||||||||||
patchVer | 0-255 | Specifies a CAM patch version to roll the accounting file and print version-specific fields. Default: 0 | ||||||||||
| N/A | Enable flag to use Ingress Far End Switch Type passed down from ERE IP Trunkgroup for SIP ingress calls.
| ||||||||||
| N/A | Enable flag to populate the Called Number Before Translation field in the accounting record for a number for which an LNP lookup was performed and lookup indicated that number has not been ported.
| ||||||||||
| N/A | Enable flag to allow the destination SBC to propagate its billing data to originating GSX/SBC for GW-GW calls.
| ||||||||||
| N/A | Enable flag to allow second stage accounting records for two stage calls to inherit fields from the first stage call.
| ||||||||||
| N/A | Enable flag to send the egress CDR information immediately after receiving and processing it.
| ||||||||||
| N/A | Specifies whether Start Accounting is enabled or disabled for the Node.
|
Command Example
To configure CDR administration:
% set oam accounting admin earlyAttemptState enabled generationMode destination % set oam accounting admin intermediateAcctInterval 20 intermediateAcctMode telcordia intermediateAcctState enabled intermediateLongDurGenTime 02:03:04.2 intermediateLongDurThreshold 2 intermediateTrapState enabled % set oam accounting admin maxRecordSequenceNum uint16 populateIpTgFarEndSwitchType enabled populateNonPortedLnpNumbers true populateRemoteGsxInfoState enabled secondStageInheritFirstStage true sendEgressCdrInfoOnReceipt true startAcctState enabled
To display configured CDR administration details:
% show oam accounting admin generationMode destination; intermediateAcctState enabled; intermediateAcctInterval 20; secondStageInheritFirstStage true; populateNonPortedLnpNumbers true; intermediateAcctMode telcordia; intermediateLongDurGenTime 02:03:04.2; startAcctState enabled; intermediateTrapState enabled; populateRemoteGsxInfoState enabled; earlyAttemptState enabled; intermediateLongDurThreshold 2; sendEgressCdrInfoOnReceipt true; populateIpTgFarEndSwitchType enabled; maxRecordSequenceNum uint16;
Configure an External CDR Server
To configure the SBC to transfer files to an external CDR server, use the following command syntax.
CDR Server Command Syntax
% set oam accounting cdrServer admin <primary | secondary> bufferSize <4-1024> cdrPort <1-65535> connectionTimeout <15-120, in seconds> filePrefix <1-255 characters> ipAddress <server IP4 or IPv6 address> password <encrypted string password data> path <1-255 characters> transferTimeout <15-600, in seconds> useSshKeyFile <disable | enable> username <1-255 characters> % show oam accounting cdrServer admin <primary | secondary> % delete oam accounting cdrServer admin % request oam accounting cdrServer admin <primary | secondary> forceCurrentServer generateSshPublicKeys resetCdrServerStats
CDR Server Command Parameters
Parameter | Length/Range | Description |
---|---|---|
| N/A | Use this object to specify server type:
|
bufferSize | 4-1024 | The data size to send to the SFTP server. Note that some servers may not handle large sizes. (default = 1024) |
cdrPort | 1-65535 | The SSH port number of the remote server. (default = 22) |
| 15-120 | The time to wait, in seconds, before timing out the connect operation.(default = 30) |
| 1-255 characters | The remote file prefix that is used to form the remote file. This prefix will be appended with a date stamp and sequence number once transferred. |
| IPv4 or IPv6 | The IP Address of the external CDR server. The following IP address types are supported:
|
| N/A | The remote server password. |
| 1-255 characters | The remote directory path where the files should be transferred. |
| 15-600 | The time to wait, in seconds, before timing out the file transfer. (default = 120). |
useSshKeyFile | N/A | Enable this parameter to use SSH public key for authenticating the remote CDR server.
|
| 1-255 characters | Remote username. |
CDR Server 'request' Parameters
Parameter | Description |
---|---|
| Use this request parameter to forcibly set the specified server as the current server. |
generateSshPublicKeys | Generates SSH public key to authenticate the remote CDR servers. |
| Use this request parameter to reset the CDR server statistics. |
CDR Server Command Example
To display the configured CDR server details:
% show oam accounting cdrServer admin admin primary { ipAddress 10.10.10.10; username admin; password $3$6ukQCu3ULEw=; path "testPath "; filePrefix cdr; connectionTimeout 15; transferTimeout 15; cdrPort 22 useSshKeyFile enable }
To display the complete status of CDR details from system-level command line:
> show table oam accounting cdrServer status SUCCESSFUL FAILED PENDING TYPE STATE PROGRESS TRANSFERS TRANSFERS TRANSFERS ------------------------------------------------------------- primary active idle 2 1 0 secondary standby idle 0 7 0
To set specified server as current server:
> request oam accounting cdrServer admin secondary forceCurrentServer [ok][2010-07-27 04:10:00] > show table oam accounting cdrServer status SUCCESSFUL FAILED PENDING TYPE STATE PROGRESS TRANSFERS TRANSFERS TRANSFERS ------------------------------------------------------------------ primary standby idle 2 0 0 secondary active idle 0 7 0 [ok][2010-07-27 04:12:36]
To reset server statistics for a server:
> request oam accounting cdrServer admin secondary resetCdrServerStats [ok][2010-07-27 04:14:33] > show table oam accounting cdrServer status SUCCESSFUL FAILED PENDING TYPE STATE PROGRESS TRANSFERS TRANSFERS TRANSFERS ------------------------------------------------------------------ primary standby idle 2 0 0 secondary active idle 0 0 0
To configure event log roll interval:
% set oam eventLog typeAdmin acct rolloverInterval 60 rolloverType repetitive [ok][2010-07-15 09:09:07] [edit] % set oam eventLog typeAdmin acct rolloverStartTime Possible completions: <dateTime (CCYY-MM-DDTHH:MM:SS)> % set oam eventLog typeAdmin acct rolloverStartTime 2010-07-15T09:12:00 [ok][2010-07-15 09:09:49] [edit] % set oam eventLog typeAdmin acct rolloverAction start [ok][2010-07-15 09:10:00] [edit] % commit Commit complete. [ok][2010-07-15 09:10:02]
To set CDRs as compressed or uncompressed:
% set oam eventLog typeAdmin acct cdrFileTransferType compressed [ok][2021-11-15 09:09:07] [edit] % set oam eventLog typeAdmin acct cdrFileTransferType uncompressed [ok][2021-11-15 09:29:17] [edit]
Configure RADIUS Accounting Support
Remote Authentication Dial In User Service (RADIUS) is a standardized protocol for supporting Authentication, Authorization, and Accounting (AAA) management in a distributed client-server architecture. The SBC can map CDR fields and other input parameters to attributes (standard as well as vendor-specific attributes) in RADIUS call-accounting records. The SBC, acting as a RADIUS client, can send the call-accounting records to an external RADIUS server.
The radius
object allows you to configure RADIUS client parameters for transporting call accounting information from the SBC Core to a RADIUS sever as well as parameters needed to access the RADIUS server.
RADIUS Command Syntax
% set oam accounting radius accountingAdmin failoverPolicy <prioritizedSelection | roundRobin> maxErrorRate <percentage> maxNoResponseTime <time, in milliseconds> maxPacketRetryCount <#> maxQueuedPacketsInMemory <#> nasIdentifier <1-253 characters> nasIpAddress <Ip Address> sendNasIdentifier <false | true> sendNasIpAddress <false | true> state <disabled | enabled> radiusServer cleanupDelay <delay amount> priority <#> serverAddress <IPv4 or IPv6 address> serverPort <UDP port> sharedSecret <16-128 characters> state <disabled | enabled>
RADIUS Command Parameters
Parameter | Description |
---|---|
| Global accounting configuration for all RADIUS servers. Parameters include:
|
| Use this object to configure individual RADIUS servers.
|
RADIUS Command Example
To display the configuration of radius accounting administration parameters:
% show oam accounting radius accountingAdmin state disabled; nasIpAddress 10.34.26.151; nasIdentifier nas2; maxErrorRate 4; maxNoResponseTime 3344;