Cisco Unified Border Element (SP Edition) Configuration Guide: Unified Model
Implementing Billing

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# configure
Router(config)# sbc mysbc
Router(config-sbc)# sbe
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

sbc asr
 sbe
   ! - Local radius IP address
   control address aaa ipv4 10.1.1.1

   ! - First radius accounting client group 
   radius accounting ACCT-CLIENT-GROUP-1
    ! - First radius server  
    server ACCT-SERVER-1
     address ipv4 20.1.1.1
     key cisco
    activate

  ! - Billing manager. 
   billing
    local-address ipv4 10.1.1.1
    method packetcable-em
    cache path harddisk:
    ! - First billing method. 
    packetcable-em 0 transport radius ACCT-CLIENT-GROUP-1
     local-address ipv4 10.1.1.1
     attach
    activate

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:

sbc asr
 sbe
   ! - Local radius IP address
   control address aaa ipv4 10.1.1.1

   ! - First radius accounting client group 
   radius accounting ACCT-CLIENT-GROUP-1
    ! - First radius server  
    server ACCT-SERVER-1
     address ipv4 20.1.1.1
     key cisco
    ! - Backup for First radius server 
    server ACCT-SERVER-2
     address ipv4 20.1.1.2
     key cisco
    activate

   ! - Second radius accounting client group 
   radius accounting ACCT-CLIENT-GROUP-2
    ! - Second radius server  
    server ACCT-SERVER-3
     address ipv4 30.1.1.1
     key cisco
    ! - Backup for Second radius server  
    server ACCT-SERVER-4
     address ipv4 30.1.1.2
     key cisco
    activate

   ! - Billing manager. 
   billing
    local-address ipv4 10.1.1.1
    method packetcable-em
    cache path harddisk:
    ! - First billing method. 
    packetcable-em 0 transport radius ACCT-CLIENT-GROUP-1
     local-address ipv4 10.1.1.1
     attach
    ! - Second billing method for duplicate records. 
    packetcable-em 1 transport radius ACCT-CLIENT-GROUP-2
     local-address ipv4 10.1.1.1
     attach
    activate