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(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