Cisco 7600 Series Routers Session Border Controller Configuration Guide
Implementing SBC Billing

Table Of Contents

Implementing SBC Billing

Contents

Prerequisites for Implementing Billing

Information About Implementing Billing

Integrated Billing Systems

Support for Media Information

Restrictions for Media Information

How to Implement Billing

Restrictions for Billing

Configuring Billing

Configuration Example of Implementing Billing


Implementing SBC Billing


The Session Border Controller (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 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 only.



Note Before upgrading from Release ACE SBC 3.0.1 or ACE SBC Release 3.0.2 to ACE SBC Release 3.1.0, you must unconfigure billing. After the upgrade, you can reconfigure billing.


For a complete description of commands used in this chapter, refer to the Cisco Session Border Controller Commands chapter. 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

ACE SBC Release 3.1.00

Additional changes to SBC billing.

Added support for media information in billing.

ACE SBC Release 3.0.00

This feature was introduced on the Cisco 7600 series router along with support for the SBC unified model.


Contents

This module contains the following sections:

Prerequisites for Implementing Billing

Information About Implementing Billing

How to Implement Billing

Configuration Example of Implementing Billing

Prerequisites for Implementing Billing

The following prerequisites are required to implement SBC billing:

On the Application Control Engine Module (ACE), you must be an Admin user to enter SBC commands. For more information, see the Application Control Engine Module Administration Guide at http://www.cisco.com/en/US/products/hw/modules/ps2706/products_configuration_guide_book09186a00806838f4.html.

Before implementing interworking billing, the SBC must already be created. See the procedures described in Chapter 2, "ACE Configuration Prerequisites for the SBC".

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 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 SBC billing topologies. It is critical to understand all SBC billing features and capabilities before performing billing configurations for the SBC.

Integrated Billing Systems

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 12-1 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 (CDRs). For an example of a CDR, see Example for Event Messages from SBC to RADIUS Billing Server, page B-12.

Because the Cisco 7600 series routers do not have a local disk, local cache is not supported. In releases before ACE SBC Release 3.1.00, this meant that if a billing server was unavailable, the EMs are lost. With ACE SBC Release 3.1.00 two new commands are introduced to prevent losing the EMs:

The server-retry disable command disables the SBC from automatically retrying a failed RADIUS server.

The service sbc sbe radius accounting command reactivates connection between the SBC and a RADIUS server after connectivity is lost or to restart billing after connectivity is restored.

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.


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).


Support for Media Information

Release 3.1.0 added support for media information to billing messages. Prior to Release 3.1.0, the PacketCable event message (EM) billing interface did not report any of the properties of the media streams associated with a call other than when the media stream begins and ends, the packets and octets transmitted, and lost latency and jitter statistics.

Now 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.

Use the cdr media-info command to add this attribute to the billing messages to make stream creation information available to PacketCable billing.

This 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 Media Information

The restrictions for Media Information are:

If an endpoint is behind a NAT, then the endpoint IP address cannot be obtained from the Session Description Protocol (SDP) and instead is autodetected when 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 will not be 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, but the correct remote address and port is in the Media_Session_Desc sent in the QoS_Release message.

The only case in which the SBC would never report a remote address and port is when the call ends before any media packets have been sent so the remote address is never learnt by the MPF.

Figure 12-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 following section:

Restrictions for Billing

Configuring Billing

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 the batch-time and batch-size commands 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 the ldr-check command 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 be assigned only 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 configuration is in place.

For PacketCable billing attributes, MTA-UDP_Port on QoS_Reserve, SF_ID, and QoS_Commit and MTA_Endpoint_name on Signaling_Start messages will always be reported as `0' and 'MTA Endpoint', respectively. These variables are not currently relevant to SBC processing.

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 authentication

6. activate

7. server

8. address ipv4 A.B.C.D.

9. exit

10. exit

11. radius accounting client-name

12. activate

13. concurrent-requests 0-4294967295

14. retry-interval range

15. retry-limit range

16. server server-name

17. address ipv4 A.B.C.D.

18. priority pri

19. key key

20. port port-num

21. exit

22. exit

23. billing

24. ldr-check {HH MM}

25. local-address ipv4 {A.B.C.D.}

26. method packetcable-em

27. packetcable-em method-index transport radius RADIUS-client-name

28. batch-size number

29. batch-time number

30. attach

31. exit

32. activate

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

host1/Admin# configure

Enables global configuration mode.

Step 2 

sbc service-name

Example:

host1/Admin(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:

host1/Admin(config-sbc)# sbe

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

Step 4 

control address aaa ipv4 IP_address

Example:

host1/Admin(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 authentication

Example:

host1/Admin(config-sbc-sbe)# radius authentication

Configures a RADIUS client for authentication purpose.

Step 6 

activate

Example:

host1/Admin/Admin(config-sbc-sbe-acc)# activate

Activates the RADIUS server.

Step 7 

server

Example:

host1/Admin(config-sbc-sbe-acc)# server castor

Enters a submode for configuring ordered lists of RADIUS accounting servers.

Step 8 

address ipv4 A.B.C.D.

Example:

host1/Admin(config-sbc-sbe-acc-ser)# address ipv4 10.0.0.1

Configures the address of the RADIUS server.

Step 9 

exit

Example:

host1/Admin(config-sbc-sbe-acc-ser)# exit

Exits the current mode.

Step 10 

exit

Example:

host1/Admin(config-sbc-sbe-acc)# exit

Exits the current mode.

Step 11 

radius accounting client-name

Example:

host1/Admin(config-sbc-sbe)# radius accounting set1

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

Step 12 

activate

Example:

host1/Admin(config-sbc-sbe-acc)# activate

Activates the RADIUS client.

Step 13 

concurrent-requests 0-4294967295

Example:

host1/Admin(config-sbc-sbe-acc)# concurrent-requests 34

Sets the maximum number of concurrent requests to the RADIUS server.

Step 14 

retry-interval range

Example:

host1/Admin(config-sbc-sbe-acc)# retry-interval 2000

Sets. the interval for resending an accounting request to the RADIUS server.

Step 15 

retry-limit range

Example:

host1/Admin(config-sbc-sbe-acc)# retry-limit 4

Sets the retry interval to the RADIUS server.

Step 16 

server server-name

Example:

host1/Admin(config-sbc-sbe-acc)# server Cisco-AR1-PC

Enters the mode for configuring an accounting server within this client.

Step 17 

address ipv4 A.B.C.D.

Example:

host1/Admin(config-sbc-sbe-acc-ser)# address ipv4 200.200.200.153

Configures the address of an accounting server.

Step 18 

priority pri

Example:

host1/Admin(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:

host1/Admin(config-sbc-sbe-acc-ser)# key cisco

Configures the RADIUS authentication key or shared secret to be used for this accounting server.

Step 20 

port port-numb

Example:

host1/Admin(config-sbc-sbe-acc-ser)# port 2009

Configures the port that the RADIUS server will use to receive Access-Request or Accounting-Request packets,.

Step 21 

exit

Example:

host1/Admin(config-sbc-sbe-acc)# exit

Exits the current mode.

Step 22 

exit

Example:

host1/Admin(config-sbc-sbe)# exit

Exits the current mode.

Step 23 

billing

Example:

host1/Admin(config-sbc-sbe)# billing

Configures billing policies.

Step 24 

ldr-check {HH MM}

Example:

host1/Admin(config-sbc-sbe-billing)# ldr-check 22 30

Configures the time of day (local time) to run the Long Duration Check (LDR).

Step 25 

local-address ipv4 A.B.C.D.

Example:

host1/Admin(config-sbc-sbe-billing)# local-address ipv4 10.20.1.1

Configure the local IPv4 address that appears in the CDR.

Step 26 

method packetcable-em

Example:

host1/Admin(config-sbc-sbe-billing)# method packetcable-em

Enables the packet-cable billing method.

Step 27 

packetcable-em method-index transport radius RADIUS-client-name

Example:

host1/Admin(config-sbc-sbe-billing)# packetcable-em 4 transport radius test

Configures a packet-cable billing instance.

Step 28 

batch-size number

Example:

host1/Admin(config-sbc-sbe-billing-packetcable- em)# batch-size 256

Configures the maximum size of a batch when the batch must be set immediately.

Step 29 

batch-time number

Example:

host1/Admin(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 30 

attach

Example:

host1/Admin(config-sbc-sbe-billing-packetcable- em)# attach

Activates the billing for a RADIUS client.

Step 31 

exit

Example:

host1/Admin(config-sbc-sbe-billing-packetcable- em)# exit

Exits the current mode.

Step 32 

activate

Example:

host1/Admin(config-sbc-sbe-billing)# activate

Activates the billing instance after configuration is committed.

Configuration Example of Implementing Billing

The following example shows how to configure billing:

host1/Admin# configure
host1/Admin(config)# sbc mysbc
host1/Admin(config-sbc)# sbe
host1/Admin(config-sbc-sbe)# control address aaa ipv4 10.10.10.1 vrf default
host1/Admin(config-sbc-sbe)# radius authentication
host1/Admin/Admin(config-sbc-sbe-acc)# activate
host1/Admin/Admin(config-sbc-sbe-acc)# server cisco-auth
host1/Admin(config-sbc-sbe-acc-ser)# address ipv4 10.10.10.10
host1/Admin(config-sbc-sbe-acc-ser)# exit
host1/Admin(config-sbc-sbe-acc)# exit
host1/Admin(config-sbc-sbe)# radius accounting mars
host1/Admin(config-sbc-sbe-acc)# activate
host1/Admin(config-sbc-sbe-acc)# retry-interval 1000
host1/Admin(config-sbc-sbe-acc)# retry-limit 6
host1/Admin(config-sbc-sbe-acc)# server test
host1/Admin(config-sbc-sbe-acc-ser)# address ipv4 10.20.1.1
host1/Admin(config-sbc-sbe-acc-ser)# priority 4
host1/Admin(config-sbc-sbe-acc-ser)# key test
host1/Admin(config-sbc-sbe-acc-ser)# port 3
host1/Admin(config-sbc-sbe-acc-ser)# exit
host1/Admin(config-sbc-sbe-acc)# exit
host1/Admin(config-sbc-sbe)# billing 
host1/Admin(config-sbc-sbe-billing)# ldr-check 22 30
host1/Admin(config-sbc-sbe-billing)# local-address ipv4 10.20.1.1
host1/Admin(config-sbc-sbe-billing)# method packetcable-em 
host1/Admin(config-sbc-sbe-billing)# packetcable-em 3 transport radius test
host1/Admin(config-sbc-sbe-billing-packetcable-em)# batch-size 256
host1/Admin(config-sbc-sbe-billing-packetcable-em)# batch-time 22 
host1/Admin(config-sbc-sbe-billing-packetcable-em)# attach
host1/Admin(config-sbc-sbe-billing-packetcable-em)# exit
host1/Admin(config-sbc-sbe-billing)# activate