Cisco IOS XR Session Border Controller Configuration Guide Release 3.6
Implementing SBC Billing

Table Of Contents

Implementing SBC Billing

Contents

Prerequisites for Implementing Billing

Information About Implementing Billing

Standalone Billing Systems

Integrated Billing Systems

How to Implement Billing

Configuring Local Billing

Configuring Remote Billing

Configuration Examples of Implementing Billing

Configuring Local Billing: Example

Configuring Remote Billing: Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance

Related Command Summary


Implementing SBC Billing


The SBC billing component includes the following core features:

Compatibility with existing billing systems—To be able to fit the SBC billing system easily into a provider's existing billing architecture is an important functional requirement. This requirement entails the use of mechanisms to obtain billing information in a similar fashion to those of the existing mechanisms.

Integration with next-generation technologies and solutions—Equally important as compatibility with existing systems is the requirement to employ next-generation billing technologies, so that service information from SBC, softswitches, voicemail and unified messaging applications, and so on can be collated and billed in a distributed environment.

High availability and fault tolerance.

Flexible architecture.

The function of the billing component can broadly be divided into two modes:

Standalone, record-based call logging.

Third-party integrated, distributed RADIUS-based call and event logging.


Note For a complete description of commands used in this chapter, refer to the Cisco IOS XR Session Border Controller Command Reference. To locate documentation for other commands that appear in this chapter, use the command reference master index, or search online.


Feature History for Implementing SBC Billing

Release
Modification

Release 3.3.0

This feature was introduced on the Cisco XR 12000 Series Router.

Release 3.3.1

The cache command was modified to take a cache name as the argument rather than the cache path.

Release 3.4.0

No modification.

Release 3.5.0

No modification.

Release 3.6.0

No modification.


Contents

Prerequisites for Implementing Billing

Information About Implementing Billing

How to Implement Billing

Configuration Examples of Implementing Billing

Additional References

Related Command Summary

Prerequisites for Implementing Billing

The following prerequisites are required to implement SBC billing:

You must be in a user group associated with a task group that includes the proper task IDs for SBC commands being used. For detailed information about user groups and task IDs, see the Configuring AAA Services on Cisco IOS XR Software module of the Cisco IOS XR System Security Configuration Guide.

You must install and activate the package installation envelope (PIE) for the SBC software.

For detailed information about PIE installation, refer to the Upgrading and Managing Cisco IOS XR Software module in the Cisco IOS XR Getting Started Guide.

To implement billing on the signaling border element (SBE) you must obtain a unique network element ID for the SBE from your network administrator. In addition, you must perform the following tasks depending on what form of billing you require.

To implement hard disk record-based call logging, you must first obtain and configure the file hardware and file handling systems (FTP and backup, for instance).

To implement integrated RADIUS-based call logging, you must first obtain and configure the file cache hardware and set up the RADIUS network infrastructure.

Information About Implementing Billing

The following sections describe SBC billing topologies. It is critical to understand all SBC billing features and capabilities before performing billing configurations for the SBC.

Standalone Billing Systems

Integrated Billing Systems

The "Additional Information about Billing Support" module provides additional non-configuration-specific details on many aspects of billing, such as:

Event Message Transmission

Call Detail Records

Administration and Configuration

Logging and Alarms

Fault Tolerance

Security

Standalone Billing Systems

Standalone billing and billing caching is supported in both a unified model SBC, or a standalone SBE. A standalone billing system comprises the following modes of operation and events:

When a call starts, SBC begins recording billable events for that call.

At the end of the call, SBC stops recording, and collates the events into a single call detail record (CDR).

The CDR is stored on disk. Available disk space constrains the number of CDRs that can be stored. For example: 24 hours of records could take up approximately 10 GB of disk space.

In the event that disk space becomes unavailable, an alarm log in the form of a Simple Network Management Protocol (SNMP) trap is generated, requesting that an administrator free up disk space by removing CDRs. No further CDRs are logged until more disk space is made available, but the system continues to accept calls.

A set of thresholds are configured on SBC, which defines a progression of alarms triggered by increasing file size; this enables an administrator to free up disk space before it runs out.

The format of the CDRs is in extensible markup language (XML) format, which can be parsed into the format required by the target billing platform.

The CDR format most often used by softswitch vendors to generate CDRs is the Bellcore AMA Format, described in Billing Automatic Message Accounting Format (BAF) Generic Requirements (BAF-GR-1100-CORE). Unfortunately for the next-generation of Voice over IP (VoIP) applications, such as SBC, the BAF format is too telephony specific, and does not contain sufficient provision for IP-centric logging information. (For example, it does not allow for logging of Session Description Protocol (SDP) or RTCP statistics). In addition, the format is not extensible, so it is not possible to define extensions to contain these fields.

An XML format is a desirable alternative, because XML is a flexible, standardized methodology and is commonly used where data must be translated between different platforms (such as between an SBC and a billing server). See the "End-to-End SBC Configuration Example on a Cisco XR 12000 Series Router" module for more information.

Integrated Billing Systems

Integrated billing is achieved through the PacketCable Event Messages architecture (see the PacketCable 1.5 Event Messages Specification; PKT-SP-EM1.5-I01-050128) as exemplified in Figure 15 where the SBC is integrated into this architecture. As shown, the billing server and softswitch both support PacketCable Event Messages.

ISP-A shows SBC operating in a unified model where the billing system is being deployed as a distributed billing system consisting of three billing servers. The SBC can be configured to send to these servers in a range of ways, such as to all three simultaneously, or to use one primary and two backups.

In the unified model, the system operates as follows:

The SBC produces event messages (EMs). These event messages are billable or other interesting events, such as call start, call end, and media-type changes.

The SBC (and other elements of the system), which produces EMs, sends them in real time (or batched up for network efficiency) using the RADIUS protocol to the billing server.

The billing server collates EMs into call detail records.

In the event that a billing server(s) is unavailable, the EM is marked as being unsent and is stored for up to 24 hours. (The EMs are stored on the Cisco XR 12000 Series Router hard disk depending on the free space available.)

An alarm log is generated, and the EM is resent to the RADIUS servers by manual CLI commands when the RADIUS servers are back online.

ISP-B shows SBC operating in a distributed model where the billing system is being deployed using a single billing server and a softswitch.

In the distributed model, the system operates as follows:

Only the SBE communicates with the billing server. That is, no event messages are generated by the DBE. All media-specific information (for example: gate request information and media statistics) is sent by the DBE to the SBE which then generates event messages as required to send to the billing servers.

The billing server collates billing information both from the SBE and the softswitch to provide the ISP with a single billing point. The softswitch only interface to the billing service is one of the ways service providers could use to get billing information. It is outside the scope of SBC billing.

In the event that a billing server(s) is unavailable, the EM is marked as being unsent and is stored for up to 24 hours. An alarm log is generated, and the EM will be resent by the billing component when the RADIUS server is back online.


Note Standalone billing and billing caching is supported in both a unified model SBC, or a standalone SBE.



Note The PacketCable 1.5 Event Messages Specification discusses sending the identifying information (the BCID and FEID) on the outgoing INVITE and responding SDP so that correlation can be done between the two sets of billing data. SBC does not support this mechanism for intra-domain or inter-domain transmission. The billing server must perform the correlation using an alternative method (for example, using the telephone numbers dialed and the time of the call).


Figure 15 Integrated Billing Deployment

How to Implement Billing

The SBE can perform local or remote billing. The key objects to be configured for billing are the long duration checks and the physical location of the cache. To implement either local or remote billing, follow the procedures in the following sections:

Configuring Local Billing

Configuring Remote Billing

Configuring Local Billing

This task defines how to configure local billing configurations.

SUMMARY STEPS

1. configure

2. sbc service-name

3. sbe

4. billing local

5. local address

6. ldr-check HH:MM

7. cache name

8. minor-alarm-threshold value

9. major-alarm-threshold value

10. critical-alarm-threshold value

11. show service sbc sbc name sbe billing local

12. commit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

RP/0/0/CPU0:router# configure

Enables global configuration mode.

Step 2 

sbc service-name

Example:

RP/0/0/CPU0:router(config)# sbc mysbc

Enters the mode of an SBC service.

Use the service-name argument to define the name of the service.

Step 3 

sbe

Example:

RP/0/0/CPU0:router(config-sbc)# sbe

Enters the mode of an SBE entity within an SBC service.

Step 4 

billing local

Example:

RP/0/0/CPU0:router(config-sbc-sbe)# billing local

Enters the local billing mode used to configure billing policy on the SBE.

Step 5 

local-address ipv4 ipv4_IP_address

Example:

RP/0/0/CPU0:router(config-sbc-sbe-lclbill)# local-address

Configures the local IPv4 address for local billing.

Step 6 

ldr-check HH:MM

Example:

RP/0/0/CPU0:router(config-sbc-sbe-lclbill)# ldr-check 22:30

Configures the time of day (local time) to run the long duration record check for reporting over 24 hours.

The range of the HH:MM variable is 00:00 to 23:59.

Step 7 

cache name

Example:

RP/0/RP0/CPU0:router(config-sbc-sbe-lclbill)#

cache mybillingrecords

Configures the directory where the billing information is stored when local billing is used.

Step 8 

minor-alarm-threshold value

Example:

RP/0/0/CPU0:router(config-sbc-sbe-lclbill)# minor-alarm-threshold 50

Configures the threshold (in MB) at which a minor alarm is generated if the CDR file reaches that size.

Step 9 

major-alarm-threshold value

Example:

RP/0/0/CPU0:router(config-sbc-sbe-lclbill)# major-alarm-threshold 500

Configures the threshold (in MB) at which a major alarm is generated if the CDR file reaches that size.

Step 10 

critical-alarm-threshold value

Example:

RP/0/0/CPU0:router(config-sbc-sbe-lclbill)# major-alarm-threshold 1000

Configures the threshold (in MB) at which a critical alarm is generated if the CDR file reaches that size.

Step 11 

show service sbc sbc name sbe billing local

Example:

RP/0/0/CPU0:router(config-sbc-sbe-lclbill)# show service sbc mysbc sbe billing local

Displays the current configuration parameters.

Step 12 

commit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-lclbill)# commit

Saves configuration changes. Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.

Configuring Remote Billing

This task defines how to configure remote billing configurations.

SUMMARY STEPS

1. configure

2. sbc service-name

3. sbe

4. control address aaa ipv4 IP_address

5. network-id id

6. billing remote

7. ldr-check HH:MM

8. cache name

9. local-address ipv4 path

10. minor-alarm-threshold threshold

11. major-alarm-threshold threshold

12. critical-alarm-threshold threshold

13. commit

14. exit

15. radius accounting SET-name

16. server server-name

17. address ipv4 ipv4_ip_address

18. priority pri

19. key key

20. exit

21. server server-name

22. address ipv4 ipv4_ip_address

23. priority pri

24. key key

25. exit

26. activate

27. exit

28. radius accounting SET-name

29. server server-name

30. address ipv4 ipv4_ip_address

31. priority pri

32. key key

33. exit

34. server server-name

35. address ipv4 ipv4_ip_address

36. priority pri

37. key key

38. exit

39. activate

40. exit

41. show

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

RP/0/0/CPU0:router# configure

Enables global configuration mode.

Step 2 

sbc service-name

Example:

RP/0/0/CPU0:router(config)# sbc mysbc

Enters the mode of an SBC service.

Use the service-name argument to define the name of the service.

Step 3 

sbe

Example:

RP/0/0/CPU0:router(config-sbc)# sbe

Enters the mode of an SBE entity within an SBC service.

Step 4 

control address aaa ipv4 IP_address

Example:

RP/0/0/CPU0:router(config-sbc-sbe)# control address aaa ipv4 192.168.113.2

Configure an SBE to use a given IPv4 AAA control address when contacting an authentication or billing server. This address in a unique address within the SVI.

Step 5 

network-id id

Example:

RP/0/0/CPU0:router(config-sbc-sbe)# network-id 5678

Configures the network ID.The range of the values for the id variable before hexadecimal conversion is 0 to 99999. The network ID is an identifier for the SBE. It can be picked arbitrarily.

Step 6 

billing remote

Example:

RP/0/0/CPU0:router(config-sbc-sbe)# billing remote

Enters the remote billing mode used to configure billing policy on the SBE.

Step 7 

ldr-check HH:MM

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# ldr-check 22:30

Configures the time of day (local time) to run the long duration record check for reporting over 24 hours.

The range of the HH:MM variable is 00:00 to 23:59.

Step 8 

cache name

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# cache mybillingrecords

Configures the directory where the billing information is saved when remote billing is used.

Step 9 

local-address ipv4 ipv4_IP_address

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# local-address ipv4 192.168.113.2

Configures the local IPv4 address. This IP address should be one of the SVI subnets not used for signaling or media, and will be used by the SBC to communicate with a RADIUS server(s).

Step 10 

minor-alarm-threshold threshold

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# minor-alarm-threshold 50

Configures the threshold (in MB) at which a minor alarm event message is generated.

Step 11 

major-alarm-threshold threshold

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# major-alarm-threshold 500

Configures the threshold (in MB) at which a major alarm event message is generated.

Step 12 

critical-alarm-threshold threshold

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# critical-alarm-threshold 1000

Configures the threshold (in MB) at which a critical alarm event message is generated.

Step 13 

commit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# commit

Saves configuration changes. Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.

Step 14 

exit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# exit

Exits the rmtbill mode to the sbe mode.

Step 15 

radius accounting SET-name

Example:

RP/0/0/CPU0:router(config-sbc-sbe)# radius accounting set1

Enters the mode for configuring a RADIUS client for accounting purposes.

Step 16 

server server-name

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc)# server Cisco-AR1-PC

Enters the mode for configuring an accounting server.

Step 17 

address ipv4 ipv4_ip_address

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# address ipv4 200.200.200.152

Configures the address of an accounting server.

Step 18 

priority pri

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# priority 2

Configures the priority of the accounting server. The pri argument must be in the range of 1 to 10 (highest to lowest).

Step 19 

key key

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# key cisco

Configures the RADIUS authentication key or shared secret of the accounting servers.

Step 20 

exit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# exit

Exits the server mode to the acc mode.

Step 21 

server server-name

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc)# server Cisco-AR2-SUN

Enters the mode for configuring an accounting server.

Step 22 

address ipv4 ipv4_ip_address

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# address ipv4 200.200.200.153

Configures the address of an accounting server.

Step 23 

priority pri

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# priority 2

Configures the priority of the accounting server. The pri argument must be in the range of 1 to 10 (highest to lowest).

Step 24 

key key

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# key cisco

Configures the RADIUS authentication key or shared secret of the accounting servers.

Step 25 

exit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# exit

Exits the server mode to the acc mode.

Step 26 

activate

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc)# activate

Initiates the SBC service.

Step 27 

exit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc)# exit

Exits the acc mode to the sbe mode.

Step 28 

radius accounting SET-name

Example:

RP/0/0/CPU0:router(config-sbc-sbe)# radius set2

Enters the mode for configuring a RADIUS client for accounting purposes.

Step 29 

server server-name

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc)# server CompanyB-iPhoneEx1

Enters the mode for configuring an accounting server.

Step 30 

address ipv4 ipv4_ip_address

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# address ipv4 200.200.200.154

Configures the address of an accounting server.

Step 31 

priority pri

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# priority 1

Configures the priority of the accounting server. The pri argument must be in the range of 1 to 10 (highest to lowest).

Step 32 

key key

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# key CompanyBip

Configures the RADIUS authentication key or shared secret of the accounting servers.

Step 33 

exit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# exit

Exits the server mode to the acc mode.

Step 34 

server server-name

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc)# server CompanyB-RKS2

Enters the mode for configuring an accounting server.

Step 35 

address ipv4 ipv4_ip_address

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# address ipv4 200.200.200.182

Configures the address of an accounting server.

Step 36 

priority pri

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# priority 2

Configures the priority of the accounting server. The pri argument must be in the range of 1 to 10 (highest to lowest).

Step 37 

key key

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# key CompanyBip

Configures the RADIUS authentication key or shared secret of the accounting servers.

Step 38 

exit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc-ser)# exit

Exits the server mode to the acc mode.

Step 39 

activate

Example:

RP/0/0/CPU0:router(config-sbc-sbe-acc)# activate

Initiates the SBC service.

Step 40 

exit

Example:

RP/0/0/CPU0:router(config-sbc-sbe-rmtbill)# exit

Exits the rmtbill mode to the sbe mode.

Step 41 

show

Example:

RP/0/0/CPU0:router(config-sbc-sbe)# show

Displays the current configuration status.

Configuration Examples of Implementing Billing

This section provides the following configuration examples:

Configuring Local Billing: Example

Configuring Remote Billing: Example

Configuring Local Billing: Example

The following example shows how to configure local billing:

configure
sbc mysbc
sbe
billing local
ldr-check 22:30
cache my_billing_record
minor-alarm-threshold 50
major-alarm-threshold 500
major-alarm-threshold 1000
commit

Configuring Remote Billing: Example

The following example shows how to configure remote billing:

sbc a
sbe
control address aaa ipv4 192.168.113.2
network-id 5678
billing remote
ldr-check 10:55
cache cache my_billing_records
local-address ipv4 192.168.113.2
minor-alarm-threshold 1
major-alarm-threshold 2
critical-alarm-threshold 3
commit
exit
radius accounting SET1
server Cisco-AR1-PC
address ipv4 200.200.200.152
priority 3
key cisco
exit
server Cisco-AR2-SUN
address ipv4 200.200.200.153
priority 2
key cisco
exit
activate
exit
radius accounting SET2
server CompanyC-iPhonEX1
address ipv4 200.200.200.154
priority 1
key CompanyCip
exit
server CompanyB-RKS2
address ipv4 200.200.200.182
priority 2
key CompanyB
exit
activate
exit

Additional References

The following sections provide references related to implementing SBC billing.

Related Documents

Related Topic
Document Title

Cisco IOS XR master command reference

Cisco IOS XR Master Commands List

Cisco IOS XR SBC interface configuration commands

Cisco IOS XR Session Border Controller Command Reference

Initial system bootup and configuration information for a router using the Cisco IOS XR Software

Cisco IOS XR Getting Started Guide

Cisco IOS XR command modes

Cisco IOS XR Command Mode Reference


Standards

Standards
Title

PKT-SP-EM1.5-I01-050128

PacketCable 1.5 Event Messages Specification

BAF-GR-1100-CORE

Billing Automatic Message Accounting Format (BAF) Generic Requirements


MIBs

MIBs
MIBs Link

To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu:

http://cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml


RFCs

RFCs
Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.


Technical Assistance

Description
Link

The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/techsupport


Related Command Summary

This section provides an alphabetical list of the commands related to billing configuration on the Cisco XR 12000 Series Router. For more information about the commands, see the Cisco IOS XR Session Border Controller Command Reference.

Command
Purpose

billing {local | remote}

Enters the mode used to configure billing policy on the SBE.

cache name

Configures the name of the directory where the billing information cache is stored.

control address aaa ipv4 IP_address

Configure an SBE to use a given IPv4 AAA control address when contacting a billing server. This address in a unique address within the SVI.

critical-alarm-threshold value

Configures the threshold (in MB) at which a critical alarm event message is generated.

ldr-check HH:MM

Configures the time of day (local time) to run the long duration record check for reporting over 24 hours.

local-address ipv4 path

Configures the local IPv4 address.

major-alarm-threshold value

Configures the threshold (in MB) at which a major alarm event message is generated.

minor-alarm-threshold value

Configures the threshold (in MB) at which a minor alarm event message is generated.

network-id id

Configures the network ID. The range of the values for the id variable before hexadecimal conversion is 0 to 99999.