|
The BPX Service Node includes a billing system architecture designed to collect and generate point-to-point SVC billing information which can be used by service providers as the basis for billing end customers. The billing architecture is designed to collect billing information in Call Detail Records (CDRs).
This billing system architecture addresses the following requirements:
1. Records point-to-point SVC billing data to support the formatting and segmentation of the data into Bulk Data Format (BFD) and Bellcore Automatic Message Accounting Format (BAF). This includes support for long duration calls, short duration calls, and unsuccessful call attempts.
2. Collection of the following data:
3. Make billing data available to an external Data Server (DS) within 2 minutes after the file collection interval.
4. Record cell/frame counts on a per rate period basis (rater periods are service provider configured parameters.) There can be a maximum of 6 different rates scheduled on a weekly basis and 4 different rates on a daily basis. (Rate periods must be provided by the external Data Server.)
5. Prevent the loss of billing date (including cell/frame counts) which are more than 15 minutes old.
6. Configure billing parameters on a per-BPX Service Node basis and on a per-UNI port basis.
7. Support the provisioning of BPX Service Node timezone, tracer (audit) records, and default billing number. (In this release, timezone and tracer [audit] records must be provided by the external Data Server.)
8. Disable/Enable SVC billing feature on a per-UNI port basis and on a per-BPX Service Node base. (A future release will provide the ability to disable/enable SVC billing on a per-Data Server basis, also.)
The SVC Billing feature allows AMS functionality to be supported by BPX Service Node networks. The concept of SVC billing is to collect billing information a per-call basis, correlated them into a single AMA record, and transport the AMA record to the Service Provider Billing System.
SVC Billing requires two types of billing information:
The BPX BXM and the AXIS ASC record the cell and frame counts at the connect delete time, and at pre-defined bucket intervals. In both cases these records are stored in the ESP as CDR files. Each call record is tagged with a 32-bit CDR number given by the ESP at call setup time. This CDR number is used as a key to correlate the different records generated during the call.
To meet the billing system requirements, the billing system architecture is divided into several functions performed by different units of a BPX Service Node, plus several external systems, as shown in Figure C-1. This billing system architecture requires four major elements to operate:
Note that the Data Server and the Service Provider Billing System are not provided by Cisco StrataCom.
The logical flow of Figure C-1 follows the sequence indicated by the arrows:
1. The StrataView Plus Workstation interfaces with the Data Server to administrate billing parameters.
2. The StrataView Plus Workstation accesses the ESP (via Telnet) to configure per-UNI port billing parameters.
3. The ESP interfaces to the BPX/s BXM cards via the Comm Bus/ATM.
4. The ESP interfaces to the AXIS ASC via SNMP.
5. The AXIS AUSM cards deliver cell counts to the ASC.
6. The AXIS FRSM cards deliver frame counts to the ASC.
7. The AXIS ASC writes the cell and frame counts to the ESP via NFS over the Ethernet LAN.
8. The BPX BXM deposits cell counts into the ESP via NFS (that is, the Network File System, a commonly-used UNIX distributed file system) over the BXM management VCC.
9. The ESP Call Detail Record (CDR) function records call start and end information into the ESP files.
10. The Data Server retrieves CDR files via FTP (or IP over ATM if available) over the Ethernet LAN. (Since each Data Server can supports more than one ESP, it may be connected to the ESP LAN via routers.) The CDR files are stored in the /Billings directory on the ESP.
11. The Data Server delivers AMS formatted data to the Billing System.
12. The Data Server telnets into the ESP to synchronize the two components.
There are 8 record formats which the Data Server should be aware of:
Tables C-1 through C-8 define these record formats. Each table lists the number of bytes (length of the field), the name of the field, the data format (character or binary), and a description of the field.
Byte | Name | Format | Description |
---|---|---|---|
1 | Record type | Chars | H = ESP header F = Flush header |
2 | Spare | Byte | Not Used |
3-12 | Date and time | Chars | yy/mm/dd/hh/min GMT |
13-16 | Node ID | Binary | ESP IP address |
Byte | Name | Format | Description |
---|---|---|---|
1 | Record type | Chars | 1 = start record 2 = unsuccessful record |
2 | Origination/termination | Binary | 1 = ATM originating recording |
3 | Slot number | Binary | 1 - 14 |
4 | Port number | Binary | 1 - 32 |
5-8 | Shelf number | Binary | BXM shelf number is always 0 |
9-12 | CDR number | Binary | This is the key to correlate start/end/cell count/frame count records. Bit 1-16 is the LCN (1-65535) |
13-14 | Channel number | Binary | LCN |
15-16 | DLCI number | Binary | This is for Frame Relay connections only |
17-18 | VPI | Binary | This is for ATM connections only |
19-20 | VCI | Binary | This is for ATM connections only |
21-24 | Connect timestamp (second) | Binary | Seconds since January 1, 1970 |
25-28 | Connect timestamp | Binary | Microseconds since January 1, 1970 |
29 | Bearer class | Binary | 1 = BCOB-A |
30 | Timing requirements | Binary | 0 = no indication |
31 | Traffic type | Binary | 0 = no indication |
32 | Connection type | Binary | 0 = point-to-point |
33 | Susceptibility to clipping | Binary | 0 = Not susceptible to clipping |
34 | QoS class forward | Binary | 0 = QoS class 0 |
35 | QoS class backward | Binary | 0 = QoS class 0 |
36 | Cause | Binary | As defined by the ATM forum |
37 | Study indicator | Binary | 0 = Not set |
38 | Calling number status | Binary | 1 = User provided--not screened |
39 | Calling number type | Binary | 1 = International, E164 |
40 | Called number type | Binary | 1 = International, E164 |
41-43 | Forward peak cell rate (CLP=0) | Binary | msb bit 8 of the first octet; |
44-46 | Backward peak cell rate | Binary | msb bit 8 of the first octet; |
47-49 | Forward peak cell rate | Binary | msb bit 8 of the first octet; |
50-52 | Backward peak cell rate | Binary | msb bit 8 of the first octet; |
53-55 | Forward sustainable cell rate (CLP=0) | Binary | msb bit 8 of the first octet; |
56-58 | Backward sustainable cell rate (CLP=0) | Binary | msb bit 8 of the first octet; |
59-61 | Forward sustainable cell rate (CLP=0+1) | Binary | msb bit 8 of the first octet; |
62-64 | Backward sustainable cell rate (CLP=0+1) | Binary | msb bit 8 of the first octet; |
65-67 | Forward maximum burst size (CLP=0) | Binary | msb bit 8 of the first octet; |
68-70 | Backward maximum burst size (CLP=0) | Binary | msb bit 8 of the first octet; |
71-73 | Forward maximum burst size (CLP=0+1) | Binary | msb bit 8 of the first octet; |
74-76 | Backward maximum burst size (CLP=0+1) | Binary | msb bit 8 of the first octet; |
77-78 | Best effort indicator | Binary | 0 = Not requested |
79-80 | Tagging | Binary | 0 = Forward/backward not requested |
81-100 | Calling number | Binary | As defined by the ATM Forum |
101-120 | Called number | Binary | As defined by the ATM Forum |
Byte | Name | Format | Description |
---|---|---|---|
1 | Record type | Chars | 3 = End record |
2 | Spare | Byte | Not used |
3 | Slot number | Binary | 1-15 |
4 | Port number | Binary | 1-32 |
5-8 | CDR number | Binary | This is the key to correlate star/end/cell count/frame count records. Bit 1-16 is the LCN (1-65535) |
9-16 | Release timestamp | Binary | Microseconds since January 1, 1970 |
17-20 | Shelf number | Binary | BXM shelf number is always 0; |
Byte | Name | Format | Description |
---|---|---|---|
1 | Record type | Chars | T = Trailer |
2 | Spare | Byte | Not used |
2-3 | End of record marker | Binary | 0xffffh |
Byte | Name | Format | Description |
---|---|---|---|
1 | Record type | Chars | M = BXM header |
2 | Spare | Byte | Not used |
3-12 | Date and time | Chars | mm/dd/yy/hr/min GMT |
13-16 | Shelf number | Binary | BXM shelf number is always 0 |
17-24 | Spare | Byte | Aligns header/cell_counts to have the same number of bytes |
Byte | Name | Format | Description |
---|---|---|---|
1 | Record type | Chars | 5 = Intermediate cell counts |
2-4 | Spare | Byte | Not used |
5-8 | CDR number (seconds/msec) | Binary | This is the key to correlate start/end/cell count/frame count records. Bit 1-16 is the LCN (1-65535) |
9-12 | Backward total cells count | Binary | 0-232 |
13-16 | Backward high priority cells count | Binary | 0-232 |
17-20 | Forward total cells count | Binary | 0-232 |
21-24 | Forward high priority cells count | Binary | 0-232 |
Byte | Name | Format | Description |
---|---|---|---|
1 | Record type | Chars | A = AXIS |
2 | Spare | Byte | Not used |
3-12 | Date and time | Chars | mm/dd/yy/hr/min GMT |
13-16 | Shelf number | Binary | ASC IP address |
17-24 | Spare | Byte | Aligns header/cell_counts to have the same number of bytes |
25-40 | Spare | Byte | This is included only if it is a frame_count from an FRSM |
Byte | Name | Format | Description |
---|---|---|---|
1 | Record type | Chars | 8 = Intermediate frame count |
2-4 | Spare | Byte | Not used |
5-8 | CDR number | Binary | This is the key to correlate start/end/cell count/frame count records. Bit 1-16 is the LCN (1-65535) |
9-12 | Receive total frame count | Binary | 0-232 |
13-16 | Receive DE=0 frame count | Binary | 0-232 |
17-20 | Transmit total frame count | Binary | 0-232 |
21-24 | Transmit DE=0 frame count | Binary | 0-232 |
25-28 | Receive total byte count | Binary | 0-232 |
29-32 | Receive DE=0 byte count | Binary | 0-232 |
33-36 | Transmit total byte count | Binary | 0-232 |
37-40 | Transmit DE=0 total byte count | Binary | 0-232 |
The BPX Service Node stores the billing records as binary files in the Billings directory. A typical Billings directory is shown in the following example:
(apslab2)/ #> cd Billings
(apslab2)/Billings #> ls
cdr_13.01.9706021200 cdr_13.04.9706022045 cdr_15.03.9706021230
cdr_13.01.9706021300 cdr_13.9706021045.00 cdr_15.04.9706021145
...
...
...
cdr_13.03.9706022015 cdr_15.02.9706021215 cdr_end.9706022245.00
cdr_13.04.9706021145 cdr_15.02.9706021315 cdr_start.9706022245.00
cdr_13.04.9706021245 cdr_15.02.9706022015 tmp/
(apslab2)/Billings #>
The ellipses (...) in the figure indicate that some CDR records have been removed to condense the file for illustration purposes.
As shown in the sample Billings directory, there are basically three types of CDR files:
The last 10 digits of every file name is the date and time stamp. For instance, 9706021200 is 1997, June 2nd at 1200 O'clock noon. Files with the extension .00 are for the current collection interval. At the end of the collection interval, they will be closed and saved without the extension.
These CDR files are in binary format and can be converted to flat file (ASCII format), which can be more easily interpreted, with the following tools:
Currently these read files are used to convert the CDR format to screen output, as will be illustrated in the following examples.
These tools are stored in the opt/aps/tools directory on the ESP.
To read a start file, follow these steps:
Step 2 Change directory to the /opt/aps/tools directory.
Step 3 Run DispStartFile using CDR file name as the argument as follows:
apslab5)/opt/aps/tools %> DispStartFile /Billings/cdr_start.04.9706130745 | more
Note that the pipe (| more) directs the output to the screen. The following example illustrates the output of a typical DispStartFile:
| ----------------------------------------------
| RecordType aDateTime ApsNodeAddr
| ----------------------------------------------
| H 9706130745 C0A8047B
| ----------------------------------------------
| ----------------------------------------------------------------------------------------------------------------------------
| R S P S T C D V V S ms B T T C S F B C S C C C f b f b f b f b f b f b b f
| e O l o h a h l p c e e a i f o u o a a i g g d p p p p s s s s b b b b e t
| c T N N N g N c i i c c c R T T C Q Q u n N T T c0 c0 c1 c1 c0 c0 c1 c1 c0 c0 c1 c1 r r
| ------------------------------------------------------------------------------------------------------------------------------
| 1 3 05 08 C0A80483 145E940C 094 000 004 38059 33a15cfa 0002e844 16 1 1 0 1 0 0 0 0 3 2 0 00 00 10 10 00 00 00 00 00 00 00 00 00 00
| CgN=:451112131415161718191a1b0f222222a2558888: CdN=:451112131415161718191a1b0f111111a1aa1111:
| 1 4 10 01 C0A80481 283B940C 059 000 004 38059 33a15cfa 0002e844 16 1 1 0 1 0 0 0 0 3 2 0 00 00 10 10 00 00 00 00 00 00 00 00 00 00
| CgN=:451112131415161718191a1b0f222222a2558888: CdN=:451112131415161718191a1b0f111111a1aa1111:
The file header is defined in Table C-1, where Record Type is H, followed by date and time, and the Node ID. The body of the file is defined in Table C-1. The fields are arranged in columns, which read from left to right, separated by spaces. Each entry takes 2 lines. As defined in Table C-2, the first field, Rec is Record Type = 1 start record; OT is Origination/Termination, where for instance 3 = ATM originating cell counts; SLN is slot number...and so on until you get to the second line where CgN is the 20-byte Calling Number field, and CdN is the 20-byte Called Number field.
Step 4 Next run DispBxmFile using the CDR file name as the argument as follows:
(apslab1)/opt/aps/tools %> DispBxmFile /Billings/cdr_13.9706131530.00 | more
Note that the pipe (| more) directs the output to the screen. The following example illustrates the output of a typical DispBxmFile:
| ------------------------------------------------- |
| RecordType DateTime ShelfNumber
| M 9706131530 0
| ------------------------------------------------- |
| Rec Tag btcc bhcc ftcc fhccc |
| ------------------------------------------------- |
| 5 2C3B0A3B 00000000 00000000 00000000 00000000 |
| 5 2C3C0A3D 00000000 00000000 00000000 00000000 |
| 5 2C3F0A40 00000000 00000000 00000000 00000000 |
| 5 2C410A42 00000000 00000000 00000000 00000000 |
| 5 2C440A54 00000000 00000000 00000000 00000000 |
| 5 2C460A56 00000000 00000000 00000000 00000000 |
| 5 2C480A58 00000000 00000000 00000000 00000000 |
| 5 2C4A0A5A 00000000 00000000 00000000 00000000 |
| 5 2C4C0A5C 00000000 00000000 00000000 00000000 |
| 5 2C4E0A60 00000000 00000000 00000000 00000000 |
| 5 2C500A6C 00000000 00000000 00000000 00000000 |
| 5 2C520A6E 00000000 00000000 00000000 00000000 |
The body of the file is defined in Table C-6. The fields are arranged in columns, which read from left to right, separated by spaces. The first field is Rec, which will be 5 for Intermediate Cell Counts or 6 for Final Cell Counts. The Tag is the CDR number used to correlate this to start/end records. The next four fields are: btcc (backward total cell count), bhcs (backward high priority cell count), ftcc (Forward total cell count), and fhccc (Forward high priority cell count).
Step 5 Next run DispAxisFile using the CDR file name as the argument:
(apslab5)/opt/aps/tools %> DispAxisFile /Billings/cdr_15.04.9706130745 | more
Note that | more pipes the output to the screen and will provide display an AXIS CDR record similar to the following example:
| ------------------------------------------------- |
| RecordType DateTime ApsNodeIpAddr
| A 9706130745 C0A80481
| -------------------------------------------------------------------------------------
|
| Rec Tag btcc/ bhcc/ ftcc/ fhccc/ - - - - |
| rtfc rde0 ttfc tde0 rtbc rde0 ttbc tde0 |
| -------------------------------------------------------------------------------------
|
| 6 28389b55 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 28539dd0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 28729b56 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 281d9dd2 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 28699b57 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 285b9dd3 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 28679b58 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 284b9dd4 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 28229b59 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 28769b6d 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 28669dd5 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
| 6 286a9b5a 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
The AXIS CDR are used for both AUSM cell counts and FRSM frame counts. A cell count record includes the Rec (Record Type 5 for Intermediate, 6 for final, cell counts) the Tag (CDR number) and btcc (backward total cell count), bhcc (backward high priority cell counts), ftcc (forward total cell counts), and fhcc (forward high priority cell counts). The cell count record format is defined in Table C-6. A frame count record includes the Rec, tag, rtfc (receive total frame count), rde0 (receive DE=0 frame count), ttfc (transmit total frame count), tde0 (transmit DE=0 frame count), rtbc (receive total byte count), rde0 (receive DE=0 byte count, ttbc (transmit total byte count), tde0 (transmit DE=0 byte count); the frame count record format is defined in Table C-8.
Step 6 Next run DispEndFile using the CDR file name as the argument:
(apslab5)/opt/aps/tools %> DispEndFile /Billings/cdr_end.04.9706130745| more
Note that | more directs the output to the screen and will display an End CDR similar to the following example:
| ---------------------------------------------------- |
| RecordType DateTime ApsNodeIpAddr
| H 9706130745 C0A8047B
| ---------------------------------------------------- |
| Rec Tag Sec Usrc Shelf Slot Port |
| ---------------------------------------------------- |
| 3 146493D7 33a15cfa 000058c1 c0a80483 005 008 |
| 3 283193D7 33a15cfa 000058c1 c0a80481 010 001 |
| 3 28569659 33a15cfa 0000fe47 c0a80481 010 008 |
| 3 14239659 33a15cfa 0000fe47 c0a80483 005 001 |
| 3 146693D8 33a15cfa 000237fc c0a80483 005 008 |
| 3 287593D8 33a15cfa 000237fc c0a80481 010 001 |
| 3 2860965A 33a15cfa 0002fa7f c0a80481 010 008 |
| 3 1456965A 33a15cfa 0002fa7f c0a80483 005 001 |
| 3 146B93D9 33a15cfa 00044632 c0a80483 005 008 |
| 3 282793D9 33a15cfa 00044632 c0a80481 010 001 |
| 3 286C965C 33a15cfa 0004ef01 c0a80481 010 008 |
| 3 147A965C 33a15cfa 0004ef01 c0a80483 005 001 |
| 3 2865965D 33a15cfa 0006b976 c0a80481 010 008 |
The End File format is defined in Table C-3. The Record Type H is the header. The next line Rec, Tag, Sec...is the actual End Record.
Posted: Fri Jan 19 20:24:25 PST 2001
All contents are Copyright © 1992--2001 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.