Table Of Contents
Implementing Billing on Cisco Unified Border Element (SP Edition)
Contents
Prerequisites for Implementing Billing
Information About Implementing Billing
Integrated Billing Systems
Granular Timestamp Support
Support for Local Cache
Support for Media Information
Restrictions for Support for Media Information
How to Implement Billing
Restrictions for Billing
Configuring Billing
Configuration Examples of Implementing Billing
Implementing Billing on Cisco Unified Border Element (SP Edition)
The Cisco Unified Border Element (SP Edition) billing component includes the following core features:
•
Compatibility with existing billing systems—To be able to fit the Cisco Unified Border Element (SP Edition) 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 Cisco Unified Border Element (SP Edition), 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 is:
•
Third-party integrated, distributed Remote Authentication Dial-In User Service (RADIUS)-based call and event logging.
Note
This feature is supported in the unified model for Cisco IOS XE Release 2.4 and later.
Cisco Unified Border Element (SP Edition) was formerly known as Integrated Session Border Controller and may be commonly referred to in this document as the session border controller (SBC).
For a complete description of commands used in this chapter, refer to the Cisco Unified Border Element (SP Edition) Command Reference: Unified Model at http://www.cisco.com/en/US/docs/ios/sbc/command/reference/sbcu_book.html.
For information about all Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or a Cisco IOS master commands list.
Feature History for Implementing Cisco Unified Border Element (SP Edition) Billing
Release
|
Modification
|
Cisco IOS XE Release 2.4
|
This feature was introduced on the Cisco ASR 1000 Series Aggregation Services Routers along with support for the unified model.
|
Cisco IOS XE Release 2.5
|
Support for Media Information and Granular Timestamp Support were added on the Cisco ASR 1000 Series Router.
|
Contents
This module contains the following sections:
•
Prerequisites for Implementing Billing
•
Information About Implementing Billing
•
Support for Local Cache
•
Support for Media Information
•
How to Implement Billing
•
Configuration Examples of Implementing Billing
Prerequisites for Implementing Billing
The following prerequisites are required to implement Cisco Unified Border Element (SP Edition) billing:
•
Before implementing interworking billing, Cisco Unified Border Element (SP Edition) must already be configured. See the procedures described in Chapter 2, "Configuring Cisco Unified Border Element (SP Edition)."
•
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 task depending on what form of billing you require.
–
To implement integrated RADIUS-based call logging, you must first configure the RADIUS server and set up the RADIUS network infrastructure.
Information About Implementing Billing
The following sections describe Cisco Unified Border Element (SP Edition) billing topologies. It is critical to understand all Cisco Unified Border Element (SP Edition) billing features and capabilities before performing billing configurations for the Cisco Unified Border Element (SP Edition).
•
Integrated Billing Systems
•
Granular Timestamp Support
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 11-1 where the Cisco Unified Border Element (SP Edition) is integrated into this architecture. As shown, the billing server and softswitch both support PacketCable Event Messages.
ISP-A in Figure 11-1 shows Cisco Unified Border Element (SP Edition) operating in a unified model where the billing system is being deployed as a distributed billing system consisting of three billing servers. Cisco Unified Border Element (SP Edition) 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:
•
Cisco Unified Border Element (SP Edition) produces event messages (EMs). These event messages are billable or other interesting events, such as call start, call end, and media-type changes.
•
Cisco Unified Border Element (SP Edition) 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 (CDRs). For an example of a CDR, see Example for Event Messages from Cisco Unified Border Element (SP Edition) to RADIUS Billing Server, page B-12.
•
Cisco Unified Border Element (SP Edition) supports local caching of records and event messages in the Cisco ASR 1000 Series Router's local disk in the event that none of the RADIUS servers are reachable.
•
Cisco Unified Border Element (SP Edition) supports multiple RADIUS servers, for example, you can define multiple servers under a single client.
Note that ISP-B in Figure 11-1 shows Cisco Unified Border Element (SP Edition) operating in a distributed model where the billing system is being deployed using a single billing server and a softswitch.
Cisco Unified Border Element (SP Edition) supports the following Packet billing termination codes:
Table 11-1 Supported Packet Billing Termination Codes
Code Value
|
Description
|
0003
|
No route to destination
|
0016
|
Normal call clearing
|
0017
|
User busy
|
0019
|
User alerting: No answer
|
0020
|
Subscriber absent
|
0027
|
Destination out of order
|
0028
|
Invalid number format (incomplete address)
|
0031
|
Unknown: Call ended during recovery processing
|
0041
|
Temporary failure
|
0042
|
Switching equipment congestion
|
0047
|
Resource unavailable, unspecified
|
0063
|
Service or option not available, unspecified
|
0065
|
Bearer capability not implemented
|
0095
|
Invalid message, unspecified
|
0097
|
Message type nonexistent or not implemented
|
0099
|
Information element nonexistent or not implemented
|
0103
|
Parameter non-existent or not implemented, passed on
|
0111
|
Protocol error: Unspecified
|
0127
|
Interworking: Unspecified
|

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. Cisco Unified Border Element (SP Edition) 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).
Granular Timestamp Support
The Cisco Unified Border Element (SP Edition) Billing Manager maintains a granular timestamp that billing methods can use to query the current time. The granular timestamp provides a precision of 100 milliseconds (ms). This precision is sufficient for all billing requirements without having an impact on performance.
By default, the granular timestamp is set to the maximum of 100 milliseconds.
Support for Local Cache
The Cisco ASR 1000 Series Routers have a local disk where records and event messages (EMs)can be stored on a local cache. Local cache support is a significant advantage because call detail records and EMs are not lost when a billing server is unavailable. Use the cache command to configure parameters for storing call detail records and EMs on local disk.
In a typical integrated billing environment, as calls come up and go down, billing records are generated and sent to the RADIUS server. When for any reason the RADIUS server is not reachable or not responding to accounting packets, then the billing manager marks the transport as `DOWN.' As soon as the transport goes down and the local caching path is defined with the cache path command, then the billing records are cached locally on the Cisco ASR 1000 Series Router's disk. Your router disk may be the hard disk or bootflash or usb0, depending on router configuration. Subsequently, every ten seconds, the Cisco ASR 1000 Series Router tries to send the cached information to the RADIUS server.
Support for Media Information
Cisco Unified Border Element (SP Edition) supports reporting media information in billing messages. The PacketCable event message (EM) billing interface reports the properties of the media streams associated with a call, including when the media stream begins and ends, the packets and octets transmitted, and lost latency and jitter statistics.
The Support for Media Information feature defines a new proprietary RADIUS Vendor-Specific Attribute that can be carried on the QoS_Commit and QoS_Release PacketCable messages. This attribute added to these billing messages makes stream creation information available to PacketCable billing.
Use the cdr media-info command to add the RADIUS Vendor-Specific Attribute to the billing messages.
The RADIUS Vendor-Specific Attribute contains the following information:
•
The local IP address and port and remote media endpoint IP address and port used in the media stream.
•
The direction of the media stream (that is, send-only, receive-only, send-and-receive, or inactive).
•
The codecs negotiated for that media stream.
•
The bandwidth reserved for the media stream.
Restrictions for Support for Media Information
The restrictions for Support for Media Information are the following:
•
If an endpoint is behind a NAT, then the endpoint IP address cannot be obtained from the Session Description Protocol (SDP). It is instead autodetected once the endpoint sends media packets. This means that the remote address and port may not be known at the point that the gate is committed. Therefore this information is not available on the Media_Session_Desc attribute that is sent on the QoS_Commit PacketCable message. Instead, a zero address is specified.
In particular, in a normal call setup and teardown when an endpoint is behind a NAT, there is no remote address or port in the Media_Session_Desc sent on the QoS_Commit message. The correct remote address and port is in the Media_Session_Desc sent in the QoS_Release message.
The only case where Cisco Unified Border Element (SP Edition) would never report a remote address and port is when the call ends before any media packets have been sent and therefore the remote address is never learnt by the MPF.
Figure 11-1 Integrated Billing Deployment
How to Implement Billing
The SBE can perform billing. The key objects to be configured for billing are the long duration checks and the physical location of the cache. You can configure up to eight packetcable-em billing instances (indexed 0-7).
Follow the procedure in the "Configuring Billing" section.
Restrictions for Billing
The restrictions for configuring billing are:
•
You may not modify any billing configuration items if billing is active.
•
You may only modify batch-time and batch-size when a method or the billing is active. All other commands are not allowed. However, those are blocked when more than one method exists.
•
You may not modify ldr-check at billing level if any methods have been defined.
•
You may not remove a RADIUS accounting client if it is currently assigned to a billing method.
•
A RADIUS accounting client must be defined before it is selected in a billing method.
•
A RADIUS accounting client can only be assigned to a single billing method.
•
The billing cannot be removed when active or when methods are configured.
•
The method packetcable command may not be removed while a packetcable-em config is in place.
Configuring Billing
This task defines how to configure billing configurations.
SUMMARY STEPS
1.
configure
2.
sbc service-name
3.
sbe
4.
control address aaa ipv4 IP_address
5.
radius accounting client-name
6.
concurrent-requests num
7.
retry-interval num
8.
retry-limit num
9.
server server-name
10.
address ipv4 A.B.C.D.
11.
priority pri
12.
key key
13.
port port-num
14.
exit
15.
activate
16.
exit
17.
billing
18.
ldr-check {HH MM}
19.
local-address ipv4 {A.B.C.D.}
20.
method packetcable-em
21.
cache [path {WORD} | alarm [critical VAL] [ major VAL ] [ minor VAL] | max-size {0-4194303}]
22.
packetcable-em method-index transport radius RADIUS-client-name
23.
batch-size number
24.
batch-time number
25.
attach
26.
exit
27.
activate
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
configure
Example:
Router# configure
|
Enables global configuration mode.
|
Step 2
|
sbc service-name
Example:
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:
Router(config-sbc)# sbe
|
Enters the mode of an SBE entity within an SBC service.
|
Step 4
|
control address aaa ipv4 IP_address
Example:
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 is a unique address within the signaling address.
|
Step 5
|
radius accounting client-name
Example:
Router(config-sbc-sbe)# radius accounting set1
|
Enters the mode for configuring a RADIUS client for accounting purposes.
|
Step 6
|
concurrent-requests 0-4000
Example:
Router(config-sbc-sbe-acc)# concurrent-requests
34
|
Sets the maximum number of concurrent requests to the RADIUS server. The default value is 250 and the valid range is between 1 and 4000.
|
Step 7
|
retry-interval range
Example:
Router(config-sbc-sbe-acc)# retry-interval 2000
|
Sets the interval for resending an accounting request to the RADIUS server. The default value is 1200 ms and the valid range is between 10 and 10,000 ms.
|
Step 8
|
retry-limit range
Example:
Router(config-sbc-sbe-acc)# retry-limit 4
|
Sets the retry interval to the RADIUS server. The default value is 5 and the valid range is between 0 and 9.
|
Step 9
|
server server-name
Example:
Router(config-sbc-sbe-acc)# server Cisco-AR1-PC
|
Enters the mode for configuring an accounting server within this client.
|
Step 10
|
address ipv4 A.B.C.D
Example:
Router(config-sbc-sbe-acc-ser)# address ipv4
200.200.200.153
|
Configures the address of an accounting server.
|
Step 11
|
priority pri
Example:
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 12
|
key key
Example:
Router(config-sbc-sbe-acc-ser)# key cisco
|
Configures the RADIUS authentication key or shared secret to be used for this accounting server.
|
Step 13
|
port port-number
Example:
Router(config-sbc-sbe-acc-ser)# port 2009
|
Configures the port that the RADIUS server will use to receive Access-Request or Accounting-Request packets. The default port is 1813.
|
Step 14
|
exit
Example:
Router(config-sbc-sbe-acc-ser)# exit
|
Exits the current RADIUS server mode.
Note Repeat steps 9 to 14 to create multiple RADIUS accounting servers. Only one server is primary; the rest are backup. You would repeat the following commands:
• server server-name
• address ipv4 A.B.C.D.
• priority pri
• key key
• port port-num
• exit
|
Step 15
|
activate
Example:
Router/Admin(config-sbc-sbe-acc)# activate
|
Activates the RADIUS server.
|
Step 16
|
exit
Example:
Router/Admin(config-sbc-sbe-acc)# exit
|
Exits the current RADIUS accounting mode.
Note Repeat steps 5 to 16 to create multiple RADIUS accounting clients. You would repeat the following commands:
• radius accounting client-name
• concurrent-requests num
• retry-interval num
• retry-limit num
• server server-name
• address ipv4 A.B.C.D.
• priority pri
• key key
• port port-num
• exit
• activate
• exit
|
Step 17
|
billing
Example:
Router(config-sbc-sbe)# billing
|
Configures billing policies.
|
Step 18
|
ldr-check {HH MM}
Example:
Router(config-sbc-sbe-billing)# ldr-check 22 30
|
Configures the time of day (local time) to run the Long Duration Check (LDR).
|
Step 19
|
local-address ipv4 {A.B.C.D.}
Example:
Router(config-sbc-sbe-billing)# local-address
ipv4 10.20.1.1
|
Configure the local IPv4 address that appears in the CDR.
|
Step 20
|
method packetcable-em
Example:
Router(config-sbc-sbe-billing)# method
packetcable-em
|
Enables the packet-cable billing method.
|
Step 21
|
cache [path {WORD} | alarm [critical VAL] [
major VAL ] [ minor VAL] | max-size
{0-4194303}]
Example:
Router(config-sbc-sbe-billing)# cache path
harddisk:
|
Configures call detail record caching parameters, including alarm levels, maximum cache size, and cache path location.
Tip  See Tip below for configuring cache path to a hard disk.
|
Step 22
|
packetcable-em method-index transport radius
RADIUS-client-name
Example:
Router(config-sbc-sbe-billing)# packetcable-em
4 transport radius set1
|
Configures a packet-cable billing instance.
RADIUS-client-name should match the client-name configured with the radius accounting client-name command.
|
Step 23
|
batch-size number
Example:
Router(config-sbc-sbe-billing-packetcable-em)#
batch-size 256
|
Configures the maximum size of a batch when the batch must be set immediately.
|
Step 24
|
batch-time number
Example:
Router(config-sbc-sbe-billing-packetcable-em)#
batch-time 22
|
Configures the maximum number of milleseconds for which any record is held before the batch is sent.
|
Step 25
|
attach
Example:
Router(config-sbc-sbe-billing-packetcable-em)#
attach
|
Activates the billing for a RADIUS client.
|
Step 26
|
exit
Example:
Router(config-sbc-sbe-billing-packetcable-em)#
exit
|
Exits the current mode.
Note Repeat steps 22 to 25 to create multiple billing method instances. You would repeat the following commands:
• packetcable-em method-index transport radius RADIUS-client-name
• batch-size number
• batch-time number
• attach
|
Step 27
|
activate
Example:
Router(config-sbc-sbe-billing)# activate
|
Activates the billing manager.
|

Tip
If you choose to set the cache path to hard disk, the cache files are created in the root directory. To prevent cluttering up your root directory, we recommend the following steps:
1.
Make a directory on the disk to store billing records. For example: mkdir harddisk:billcache
2.
Configure the cache path to point to this directory. For example, the following command configures the cache path to point to the directory billcache:
cache path harddisk:/billcache/
Note
The trailing forward slash / is mandatory in the cache path configuration.
Configuration Examples of Implementing Billing
The following example configures billing and enables caching of call detail records and event messages (EMs) on the designated hard disk:
Router(config)# sbc mysbc
Router(config-sbc-sbe)# control address aaa ipv4 10.10.10.1 vrf default
Router(config-sbc-sbe)# radius accounting mars
Router(config-sbc-sbe-acc)# concurrent-requests 300
Router(config-sbc-sbe-acc)# retry-interval 1000
Router(config-sbc-sbe-acc)# retry-limit 6
Router(config-sbc-sbe-acc)# server moon
Router(config-sbc-sbe-acc-ser)# address ipv4 10.20.1.1
Router(config-sbc-sbe-acc-ser)# priority 4
Router(config-sbc-sbe-acc-ser)# key test
Router(config-sbc-sbe-acc-ser)# port 1820
Router(config-sbc-sbe-acc-ser)# exit
Router(config-sbc-sbe-acc)# activate
Router(config-sbc-sbe-acc)# exit
Router(config-sbc-sbe)# billing
Router(config-sbc-sbe-billing)# ldr-check 22 30
Router(config-sbc-sbe-billing)# local-address ipv4 10.20.1.1
Router(config-sbc-sbe-billing)# method packetcable-em
Router(config-sbc-sbe-billing)# cache path harddisk:
Router(config-sbc-sbe-billing)# packetcable-em 3 transport radius test
Router(config-sbc-sbe-billing-packetcable-em)# batch-size 256
Router(config-sbc-sbe-billing-packetcable-em)# batch-time 22
Router(config-sbc-sbe-billing-packetcable-em)# attach
Router(config-sbc-sbe-billing-packetcable-em)# exit
Router(config-sbc-sbe-billing)# activate
The following configuration example shows that cache is enabled on the hard disk
! - Local radius IP address
control address aaa ipv4 10.1.1.1
! - First radius accounting client group
radius accounting ACCT-CLIENT-GROUP-1
local-address ipv4 10.1.1.1
! - First billing method.
packetcable-em 0 transport radius ACCT-CLIENT-GROUP-1
local-address ipv4 10.1.1.1
The following configuration example shows that four RADIUS servers have been configured in pairs: the second RADIUS server is backing up server 1, the third RADIUS server is backing up server 4, and both pairs of servers are receiving copies of the same records:
! - Local radius IP address
control address aaa ipv4 10.1.1.1
! - First radius accounting client group
radius accounting ACCT-CLIENT-GROUP-1
! - Backup for First radius server
! - Second radius accounting client group
radius accounting ACCT-CLIENT-GROUP-2
! - Backup for Second radius server
local-address ipv4 10.1.1.1
! - First billing method.
packetcable-em 0 transport radius ACCT-CLIENT-GROUP-1
local-address ipv4 10.1.1.1
! - Second billing method for duplicate records.
packetcable-em 1 transport radius ACCT-CLIENT-GROUP-2
local-address ipv4 10.1.1.1