|
|
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:
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:
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 frame/cell indication | Binary | 1 = ATM originating recording 2 = ATM terminating recording, 3 = ATM originating cell counts 4 = ATM terminating cell counts. 5 = Frame relay originating 6 = Frame relay terminating 7 = Frame relay originating frame counts 8 = Frame relay terminating frame counts |
| 3 | Slot number | Binary | 1 - 14 |
| 4 | Port number | Binary | 1 - 32 |
| 5-8 | Shelf number | Binary | BXM shelf number is always 0 for Axis it is the ASC IP address |
| 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 (useconds) | Binary | Microseconds since January 1, 1970 |
| 29 | Bearer class | Binary | 1 = BCOB-A 3 = BCOB-C 16 = BCOB-X |
| 30 | Timing requirements | Binary | 0 = no indication 1 = End-to-end timing required 2 = End-to-end timing not required |
| 31 | Traffic type | Binary | 0 = no indication 1 = CBR 2 = VBR |
| 32 | Connection type | Binary | 0 = point-to-point |
| 33 | Susceptibility to clipping | Binary | 0 = Not susceptible to clipping 1 = Susceptible to clipping |
| 34 | QoS class forward | Binary | 0 = QoS class 0 1 = QoS class 1 2 = QoS class 2 3 = QoS class 3 4 = QoS class 4 |
| 35 | QoS class backward | Binary | 0 = QoS class 0 1 = QoS class 1 2 = QoS class 2 3 = QoS class 3 4 = QoS class 4 |
| 36 | Cause | Binary | As defined by the ATM forum |
| 37 | Study indicator | Binary | 0 = Not set 1 = Set |
| 38 | Calling number status | Binary | 1 = User provided--not screened 2 = User provided--failed screening 3 = User provided--passed screening 4 = Network provided (default) |
| 39 | Calling number type | Binary | 1 = International, E164 2 = ATM End System address |
| 40 | Called number type | Binary | 1 = International, E164 2 = ATM End System address |
| 41-43 | Forward peak cell rate (CLP=0) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 44-46 | Backward peak cell rate (CLP=0) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 47-49 | Forward peak cell rate (CLP=0+1) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 50-52 | Backward peak cell rate (CLP=0+1) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 53-55 | Forward sustainable cell rate (CLP=0) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 56-58 | Backward sustainable cell rate (CLP=0) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 59-61 | Forward sustainable cell rate (CLP=0+1) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 62-64 | Backward sustainable cell rate (CLP=0+1) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 65-67 | Forward maximum burst size (CLP=0) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 68-70 | Backward maximum burst size (CLP=0) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 71-73 | Forward maximum burst size (CLP=0+1) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 74-76 | Backward maximum burst size (CLP=0+1) | Binary | msb bit 8 of the first octet; lsb bit 1 of the 3rd octet |
| 77-78 | Best effort indicator | Binary | 0 = Not requested 1 = Requested |
| 79-80 | Tagging | Binary | 0 = Forward/backward not requested 1 = Forward requested, backward not 2 = Backward requested, forward not 3 = Both forward and backward 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; For AXIS it is the ASC IP address |
| 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 6 = Final 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 9 = Final 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 1 Log onto the ESP as a UNIX user. Examine to the Billings directory to find the CDR file which you want to examine.
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.
|
|