Table Of Contents
New Measurements in BAMS Release 3.30
Per Received-Call Measurements
Measurements Based on Current and New Stored Values
Measurements That Capture New Data
Noncarrier and Carrier-Based Measurements
Types of Measurement Intervals
Noncarrier Measurement Production
Carrier-Based Measurement Production
Statistics Subsystem Functions
Configured vs. Dynamic Trunk Group Output
Preliminary vs. Final Measurements
Nonprovisioned Trunk Group Measurements
MGCP Dial and MGCP Scripting Handoff Measurements
Obtaining Measurements
Revised: April, 2010, OL-11618-16Introduction
The Statistics module on the Cisco Billing and Measurements Server (BAMS) computes, augments, generates, and maintains performance indicators. Performance indicators amount to a history of traffic statistics on a telephone or data network. Counters are calculated for various events (for example, number of call attempts, call duration) for a particular time period. Each counter is associated with a time stamp and a key formed by the concatenation of several fields copied out of the Call Detail Record (CDR) being processed.
Counters that correspond to the same key within the same time period are added together, producing an accumulated count. For this reason, performance indicators are also known as accumulators. That is, "accumulators" and "counters" are used interchangeably to refer to performance indicators.
BAMS maintains counters for three different interval categories (real time, hourly, and daily intervals).
BAMS also maintains a flat file for each collection interval. In order for information to be timely, as soon as an interval boundary is reached, the buckets for that interval are written to disk. As the measurements are written, each measurement is checked against a user-defined threshold value and test condition.
New Measurements in BAMS Release 3.30
Cisco BAMS 3.30 introduces 11 new measurements. Some of these new measurements are recorded when a call is received, several are recorded at a specified interval, and two are recorded daily only.
Per Received-Call Measurements
Table 12-1 lists the new measurements for BAMS 3.30 that are recorded each time a call is received.
Per Interval Measurements
Table 12-2 lists the new measurements for BAMS 3.30 that are recorded at the end of each reporting interval.
Daily Measurements
Two of the new measurements introduced in BAMS 3.30 are reported daily only: Busy Hour and Busy Period. Because there is no database, the values recorded for each hour or period during a day are retained only for one additional hour or one additional period in case any pegs arrive late. However, after the value for an hour or a period is updated and reported, if these values are not greater than the values previously recorded, they are released.
As a consequence of the brief retention of recorded measurements, BAMS cannot examine the measurement values recorded for each hour and each period during a day to determine which hour or period was busiest.
Instead, BAMS 3.30 saves the values recorded for the busiest hour and busiest period, as of the current time, as the day proceeds. As the measurement value for each hour and period is recorded, it is compared with the values currently retained. If they are not greater, they are released. By this process, at the end of the day, BAMS will have identified the busiest hour and busiest period during the day and the value of each.
Table 12-3 lists the new measurements for BAMS 3.30 that are recorded only at the end of each day.
Measurements Based on Current and New Stored Values
Most of the new measurements for BAMS 3.30 are based on values that are also captured for preexisting measurements. Only two of the new measurements require data that must be stored separately.
Therefore, BAMS 3.30 does not allocate additional memory to store data that will be used to calculate both new measurements as well as existing measurements. The calculation for the new measurement values is performed when it is time to output the measurement value rather than when the CDR is initially analyzed.
Although most of the new measurements do not require additional storage, the new output must be threshold checked. Additional threshold-crossing flags are allocated to the new measurements. The threshold trunk groups are expanded to store the threshold-crossing value and condition for each measurement that requires threshold checking.
The measurements Busy Hour and Busy Period do not require this additional threshold-checking mechanism.
Measurements That Capture New Data
Two of the new measurements, Answered Calls Incoming, and Answered Calls Outgoing, require capturing and storing real-time hourly and daily counts. BAMS 3.30 records the hour and period of the day during which the highest number of Answered Calls Incoming and Answered Calls Outgoing occurs. BAMs records the Busy Hour and Busy Period and the count for both measurements. These values are stored in the base of the trunk group along with the circuit counts and flags.
Non-Integer Measurements
For all releases of Cisco BAMS prior to BAMS 3.30, all measurements were recorded as integer values. BAMS 3.30 extends to an additional decimal place the value it records for the measurements Answer Seizure Ratio Incoming and Answer Seizure Ratio Outgoing.
Because system thresholds are set to integer values, measurements that pertain to such thresholds are rounded and recorded to the nearest whole integer value. Therefore, a threshold-crossing condition is evaluated by comparing the specified integer value for the threshold and the recorded integer value of the corresponding measurement. Non-integer threshold values are not supported.
Measurement Matrix
Table 12-4 presents the measurement matrix for all BAMS 3.30 measurements.
Table 12-4 BAMS Measurement Matrix
# Measurement Name Predefined No 1071 Predefined w/1071 Dynamic MGCP Support in Nailed Threshold Crossing1
Call Attempts Incoming
2
Call Attempts Outgoing
No Peg
3
Incoming Peg Count1
4
Outgoing Peg Count2
5
Outgoing attempts blocked
No Peg
6
Failed Calls3
7
Failed Calls - Congestion
8
Successful Calls Incoming
9
Successful CAlls Outgoing
No Peg
10
Percent Trunk Group Usage Incoming
Suppress
Suppress
11
Percent Trunk Group Usage Outgoing
Suppress
Suppress
No Peg
12
Maintenance Duration per Trunk Group
Suppress
Suppress
13
Total Traffic in Erlangs
14
Total Calls Terminated Normally
15
Calls Terminated Abnormally
16
Calls Terminated, failed MGW or NAS
17
Calls Rejected
18
Calls Rejected, unknown Dialed Number
19
Calls Rejected, other reasons
20
Overflow, outgoing attempts blocked
No Peg
21
Total sum of usage pegs per trunk group
22
Tandem routing attempts, outgoing
Suppress
No Peg
23
Tandem completions, outgoing
Suppress
No Peg
24
Tandem attempts, incoming
Suppress
25
Tandem completions, incoming
Suppress
26
Tandem duration, outgoing
Suppress
27
Tandem duration, incoming
Suppress
28
IC destined calls
29
Ic destined calls, no circuit
30
IC usage
31
Conversation Duration Ingress
32
Conversation Duration Egress
No Peg
33
Setup Duration Ingress
34
Setup Duration Egress
No Peg
35
Teardown Duration Ingress
36
Teardown Duration Egress
No Peg
37
Call Routing I Peg
38
Call Routing II Peg
39
Call Routing III Peg
40
Carrier Select No Indication
Suppress
41
Carrier Select PreSubscribed Not Input
Suppress
42
Carrier Select PreSubscribed and Input
Suppress
43
Carrier Select PreSubscribed with No Indication
Suppress
44
Carrier ID Code Not PreSubscribed but Input by Customer
Suppress
45
Successful H.323 terminating pegs
46
Successful H.323 originating pegs
47
Unsuccessful H.323 terminating pegs
48
Unsuccessful H.323 originating pegs
49
Successful ISUP terminating pegs
50
Successful ISUP originating pegs
51
Unsuccessful ISUP terminating pegs
52
Unsuccessful ISUP originating pegs
53
ISDN Terminating Setup Message Delay pegs
54
ISDN Originating Setup Message Delay pegs
55
Number of defined CICs during the measurement period
Suppress
Suppress
56
Average number of available CICs during the measurement period
Suppress
Suppress
57
Answered Calls incoming
58
Answered Calls outgoing
No Peg
Suppress
59
Answered Calls total
Suppress
60
Call Attempts total
Suppress
61
Answer Seizure Ratio incoming
62
Answer Seizure Ratio outgoing
No Peg
Suppress
63
Answer Seizure Ratio total
Suppress
64
Busy Hour
No
65
Busy Period
No
1 No longer supported (these are duplicates of other measurements)
2 No longer supported (these are duplicates of other measurements)
3 No longer supported (these are duplicates of other measurements)
Noncarrier and Carrier-Based Measurements
Each measurement value represents an accumulation of activity that took place during the measurement interval. At any point in time, three intervals are being collected in parallel, in real-time, hourly, and daily. Measurement values are organized into measurement groups. There are two types of measurement groups: noncarrier and carrier-based. For each noncarrier group, 45 different measurements are accumulated. For each carrier-based group, eight different measurements are accumulated.
Types of Measurement Intervals
The Accumulation (ACC) task generates measurements for one variable, real-time interval, or period and two fixed-time intervals. At any moment in time, two collection windows are open for updating, the current window called "N," and the most recent window called "N-1." Each N and N-1 collection window consists of real-time, hourly, and daily counters. The two open windows are necessary because the Cisco Media Gateway Controller (MGC) does not produce a CDR at the first Initial Address Message (IAM) or seizure. Instead, it produces the CDR at the time of answer or abandonment of the call.
Because of the particular time points that are recorded by the Cisco MGC, an event might not be reported until after the collection interval has been closed, even though the event should have been credited to that interval. The one exception to the two-window rule is at startup, where only the current window is open. That remains the case until after the first interval boundary is crossed.
Real-Time Intervals
You can configure the real-time interval to any of the following durations: 5 minutes, 10 minutes, 15 minutes, 20 minutes, or 30 minutes. The default real-time interval is 15 minutes. All real-time measurements are stored in files whose names have the prefix acc_r.
Hourly Intervals
The hourly interval contains the sum of all of the real-time intervals that took place during the hour. For this reason, 60 minutes must be evenly divisible by the real-time interval length. All hourly measurements are stored in files whose names have the prefix acc_h.
Daily Intervals
The daily interval contains the sum of all of the hourly intervals that took place during the day. All daily measurements are stored in files whose names have the prefix acc_d.
Noncarrier Measurements
Noncarrier measurements are organized by trunk group. Table 12-5 lists these measurements and their mnemonics. It also describes each measurement's trigger time point and tag, derivation, and mapping.
Note For a list of which measurements are suppressed or not pegged based on the PGW_DYNAMIC_UPDATE value, see "Setting the PGW Dynamic Update Mode" section on page 2-20.
Table 12-5 Noncarrier Measurements
Measurement Trigger Time Point and Tag Mnemonic Derivation and MappingCall Attempts Incoming
1010 or 1030 received, Tag 4100 or 4101
BAM:IGR CALL ATT
Pegged when a 1010 CDB is recorded w/4008 or when 1030 recorded w/4008
Call Attempts Outgoing
1010 or 1030 received, Tag 4100 or 4101
BAM:EGR CALL ATT
Pegged when a 1010 CDB is recorded w/4015 or when 1030 recorded w/4015. Suppressed in MGCP Dial or MGCP Scripting calls.
Outgoing Attempts Blocked
1030 or 1040 received, Tag 4100 or 4101
BAM:EGR CALL BLKD
4015 populated, 1030 or 1040 with (Cause Code) Tag {2008,3008}== {21, 25, 27, 29, 34, 38, 41, 42, 44, 46, 47, 53, 63}. Suppressed in MGCP Dial or MGCP Scripting calls.
Failed Calls-Congestion
1030 or 1040 received, Tag 4100 or 4101
BAM:TTL FAILED CONGEST
Peg for all 1030 or 1040 where {2008 or 3008} == {42, 44, 47}
Successful Calls Incoming
1040 or 1030 received, later of Tag 4106 or 4107
BAM:IGR TERM NORM
Peg for all 1040 CDB or 1030 CDB where 4008 is populated and {2008 or 3008} == {16,17,18,19, 31}
Successful Calls Outgoing
1040 or 1030 received, later of Tag 4106 or 4107
BAM:EGR TERM NORM
Pegged when 1040 or 1030 CDB recorded w/4015 populated and {2008 or 3008} == {16,17,18,19, 31}. Suppressed in MGCP Dial or MGCP Scripting calls.
Percent Trunk Group Usage Incoming
Starts when 1010 received (Tag 4100 or 4101). Closes when interval is closed or 1040 received.
BAM:IGR PCT TRK USE
Measured as a percentage of time that circuits are occupied based on the total number of circuits belonging to a trunk group over the provisioned interval of measurement. Any circuit on Tag 4008 triggers this measurement from CDB Tag 1010. The starting time point is the earlier of 4100 or 4101, the end timepoint is in the 1040 CDB, the later of tag 4108 or 4109. Suppressed before 1071 CDB is received on trunk group when the PGW_DYNAMIC_UPDATE flag is set to true. Also suppressed for dynamically added trunk groups.
Percent Trunk Group Usage Outgoing
Starts when 1010 received (Tag 4100 or 4101). Closes when interval is closed or 1040 received.
BAM:EGR PCT TRK USE
Measured as a percentage of time that circuits are occupied based on the total number of circuits belonging to a trunk group over the provisioned interval of measurement. Any circuit on Tag 4015 triggers this measurement from CDB Tag 1010. The starting time point is the earlier of 4100 or 4101, the end timepoint is in the 1040 CDB, the later of tag 4108 or 4109. Suppressed before 1071 CDB is received on trunk group when the PGW_DYNAMIC_UPDATE flag is set to true. Also suppressed in MGCP Dial or MGCP Scripting mode. Always suppressed for dynamically added trunk groups.
When the measurement Percent Trunk Group Usage (PCT TRK USE) is specified, it is possible for the measurement to be recorded in the real-time acc_r file but not recorded in the hourly acc_h or daily acc_d files. For example, trunk group usage that is as low as 1% for a real-time duration set for 10, 15, or 30 minutes, will be recorded in the acc_r file. However, such low usage will fall below 1% for the greater hourly and daily time periods and, therefore, will not be recorded in the acc_h or acc_d files. Similarly, a measurement can meet the minimum usage percentage to be recorded in the real-time and hourly files but not the daily file.
Maintenance Duration per Trunk Group
Starts when 1071 received (Tag 4100 or 4101). Closes when interval is closed or another 1071 received.
BAM:TTL MAINT USE
Only available with PGW release 9.4(1) or later and if the PGW_DYNAMIC_UPDATE flag is set to true. Measured as a percentage of time that circuits are occupied based on the total number of circuits belonging to a trunk group over the provisioned interval of measurement. When the 1071 CDB contains the number of circuits unavailable for a trunk group, BAMS is able to track the number of circuits out of service. Only available if the PGW_DYNAMIC_UPDATE flag is set to true and trunk group is configured in the Trunk Group table, suppressed before 1071 is received. Always suppressed for dynamically added trunk groups.
Total Traffic in Erlangs
Starts when 1010 received (Tag 4100 or 4101). Closes when interval is closed or 1040 received
BAM:TTL ERLANGS
Measured as Erlangs for both Ingress and Egress for a trunk group. Use total seconds duration, from 1010 CDB, use timepoint in earlier of 4100 or 4101. For the end of the duration, use the later of 4108 or 4109. Erlangs = (total seconds) / (seconds in measured interval)
Example: For a one-hour measurement, with 99,000 secs measured, the formula would be (99,000)/(3600secs) = 27.5 Erlangs.
If the same measurement occurred over a 15-minute interval, the formula would be (99,000)/(900secs) = 110 Erlangs.
Total Calls Terminated Normally
1040 received (Tag 4106 or 4107)
BAM:TTL TERM NORM
Pegged when 1040 CDB recorded and release code in the set {16,17,18,19, 31}
Calls Terminated Abnormally
1030 or 1040 received (Tag 4106 or 4107)
BAM:TTL TERM ABNORM
Pegged for any 1040 where {2008 or 3008} != {16,17,18,19, 31} or for 1030 CDB with any release code.
Calls Terminated, Failed MGW or NAS
1030 or 1040 received (Tag 4106 or 4107)
BAM:TTL TERM FAILED MGW
Pegged for any 1030 or 1040 CDB where {2008 or 3008} == {29}
Calls Rejected
1030 CDB received (Tag 4100 or 4101)
BAM:TTL CALLS REJECTED
Pegged for any 1030 CDB where {2008 or 3008} == {21}
Calls Rejected, Unknown Dialed Number
1030 CDB received (Tag 4100 or 4101)
BAM:TTL REJECTED DIALNUM
Pegged for any 1030 CDB where {2008 or 3008} == {1, 5, 22, 28}
Calls Rejected, Other Reasons
1030 CDB received (Tag 4100 or 4101)
BAM:TTL REJECTED OTHER
Pegged for any 1030 CDB where {2008 or 3008} != {1,5,16,17,18,19,21,22,28,29}
Overflow, Outgoing Attempts Blocked
1030 CDB received (Tag 4100 or 4101)
BAM:EGR OFL BLKD
Pegged for 1030 CDB where 4015 is populated and {2008 or 3008} == {27, 34, 41, 42, 44, 47, 53, 63}. Suppressed in MGCP Dial or MGCP Scripting calls.
Total Sum of Usage Pegs per Trunk Group
1010 or 1030 CDB received (Tag 4100 or 4101)
BAM:TTL TRAFFIC USAGE PEGS
Pegged for any 1010 or 1030 CDB.
Tandem Routing Attempts, Outgoing
1010 or 1030 CDB received (Tag 4100 or 4101)
BAM:EGR TANDEM ATT
Pegged when Tag 4015 (trunk group) is marked T (tandem connection) for 1010 or 1030 CDB. Always suppressed for dynamically added trunk groups. Also suppressed in MGCP Dial or MGCP Scripting calls.
Tandem Completions, Outgoing
1010 CDB received (Tag 4100 or 4101)
BAM:EGR TANDEM COMPLT
Pegged when Tag 4015 (trunk group) is marked T (tandem connection) for 1010 CDB. Always suppressed for dynamically added trunk groups. Also suppressed in MGCP Dial or MGCP Scripting calls.
Tandem Attempts, Incoming
1010 or 1030 CDB received (Tag 4100 or 4101)
BAM:IGR TANDEM ATT
Pegged when Tag 4008 (trunk group) is marked T (tandem connection) for 1010 or 1030 CDB. Always suppressed for dynamically added trunk groups.
Tandem Completions, Incoming
1010 CDB received (Tag 4100 or 4101)
BAM:IGR TANDEM COMPLT
Pegged when Tag 4008 (trunk group) is marked T (tandem connection) for 1010 CDB. Always suppressed for dynamically added trunk groups.
Tandem Duration, Outgoing
1010 CDB received (Tag 4100 or 4101)
BAM:EGR TANDEM DUR
Duration measured when Tag 4015 (trunk group) is marked T (tandem connection) for 1010 CDB. Always suppressed for dynamically added trunk groups.
Tandem Duration, Incoming
Starts when 1010 received (Tag 4100 or 4101). Closes when interval is closed or 1040 received (tag 4108 or 4109).
BAM:IGR TANDEM DUR
Duration measured when Tag 4008 (trunk group) is marked T (tandem connection) for 1010 CDB. Start with earlier of timepoint in 4100 or 4101 of 1010 CDB, end with later of 4108 or 4109 in 1040 CDB. Always suppressed for dynamically added trunk groups.
Conversation Duration Ingress
Starts when 1010 received (Tag 4100 or 4101). Closes when interval is closed or 1040 received (tag 4108 or 4109).
BAM:IGR CONV
DURATIONDuration measured from the later of tag 4104 or 4105 in the 1010 CDB, till the earlier of tag 4106 or 4107, when tag 4008 is populated with valid trunk group number.
Conversation Duration Egress
Starts when 1010 received (Tag 4100 or 4101). Closes when interval is closed or 1040 received (tag 4108 or 4109).
BAM:EGR CONV
DURATIONDuration measured from the later of tag 4104 or 4105 in the 1010 CDB, till the earlier of tag 4106 or 4107, when tag 4015 is populated with valid trunk group number. Suppressed in MGCP Dial or MGCP Scripting calls.
Setup Duration Ingress
1010 or 1030 CDB received (Tag 4100 or 4101)
BAM:IGR SETUP
DURATIONDuration measured from timepoint in earlier of tag 4100 or 4101 of 1010 CDB, end with later of 4102 or 4103 in 1010 CDB. For 1030 CDB, start with earlier of 4100 or 4101, end with earlier of 4106 or 4107, when tag 4008 is populated with valid trunk group number.
Setup Duration Egress
1010 or 1030 CDB received (Tag 4100 or 4101)
BAM:EGR SETUP DURATION
Duration measured from timepoint in earlier of tag 4100 or 4101 of 1010 CDB, end with later of 4102 or 4103 in 1010 CDB. For 1030 CDB, start with earlier of 4100 or 4101, end with earlier of 4106 or 4107, when tag 4015 is populated with valid trunk group number. Suppressed in MGCP Dial or MGCP Scripting calls.
Teardown Duration Ingress
1030 or 1040 CDB received (Tag 4106 or 4107)
BAM:IGR TEARDOWN DURATION
Duration measured from timepoint in earlier of 4106 or 4107, end with later of 4108 or 4109, when tag 4008 is populated with valid trunk group number.
Teardown Duration Egress
1030 or 1040 CDB received (Tag 4106 or 4107)
BAM:EGR TEARDOWN DURATION
Duration measured from timepoint in earlier of 4106 or 4107, end with later of 4108 or 4109, when tag 4015 is populated with valid trunk group number. Suppressed in MGCP Dial or MGCP Scripting calls.
Call Routing I Peg
1030 or 1010 CDB received (Tag 4100 or 4101)
BAM:TTL CALL
ROUTING IPegged when ingress and egress traffic terminations are maintained by the same gateway. When tag 4038 and tag 4039 are equal and neither tag 4069 nor 4073 equal 6 (EISUP).
Call Routing II Peg
1030 or 1010 CDB received (Tag 4100 or 4101)
BAM:TTL CALL
ROUTING IIPegged when ingress and egress traffic terminations are maintained by the different gateways, but under control of the same MGC. When tag 4038 and tag 4039 are not equal and neither tag 4069 nor 4073 equal 6.
Call Routing III Peg
1030 or 1010 CDB received (Tag 4100 or 4101)
BAM:TTL CALL
ROUTING IIIPegged when one side of a call originates or terminates under the control of a gateway connected to the MGC, but the other side of the call terminates in another network not under the control of the MGC. When either tag 4069 or 4073 equal 6.
Successful H.323 Terminating Pegs
1010 CDB received (Tag 4100 or 4101)
BAM:EGR SUCCESSFUL H.323
Pegged when a 1010 CDB is received with a tag 4073 with a value of 7.
Note The H.323 measurements are output only when the enable-H323 parameter is set to 1 in the Node Parameters table.
Successful H.323 Originating Pegs
1010 CDB received (Tag 4100 or 4101)
BAM:IGR SUCCESSFUL H.323
Pegged when a 1010 CDB is received with a tag 4069 with a value of 7.
Note The H.323 measurements are output only when the enable-H323 parameter is set to 1 in the Node Parameters table.
Unsuccessful H.323 Terminating Pegs
1030 CDB received (Tag 4100 or 4101)
BAM:EGR UNSUCCESSFUL H.323
Pegged when a 1030 CDB is received with a tag 4073 with a value of 7.
Note The H.323 measurements are output only when the enable-H323 parameter is set to 1 in the Node Parameters table.
Unsuccessful H.323 Originating Pegs
1030 CDB received (Tag 4100 or 4101)
BAM:IGR UNSUCCESSFUL H.323
Pegged when a 1030 CDB is received with a tag 4069 of value 7.
Note The H.323 measurements are output only when the enable-H323 parameter is set to 1 in the Node Parameters table.
Successful ISUP Terminating Pegs
1010 CDB received (Tag 4100 or 4101)
BAM:EGR SUCCESSFUL ISUP
Pegged when a 1010 CDB is received with a tag 4073 of value 0.
Successful ISUP Originating Pegs
1010 CDB received (Tag 4100 or 4101)
BAM:IGR SUCCESSFUL ISUP
Pegged when a 1010 CDB is received with a tag 4069 of value 0.
Unsuccessful ISUP Terminating Pegs
1030 CDB received (Tag 4100 or 4101)
BAM:EGR UNSUCCESSFUL ISUP
Pegged when a 1030 CDB is received with a tag 4073 of value 0.
Unsuccessful ISUP Originating Pegs
1030 CDB received (Tag 4100 or 4101)
BAM:IGR UNSUCCESSFUL ISUP
Pegged when a 1030 CDB is received with a tag 4069 of value 0.
ISDN Terminating Setup Message Delay Pegs
1010 or 1030 CDB received (Tag 4100 or 4101)
BAM:EGR ISDN SETUP MSG DELAY
Pegged when a 1010 or 1030 CDB is received with a tag 4073 with a value of 0, when the setup duration > 3000 ms. The setup duration is measured from timepoint in earlier of tag 4100 or 4101 of 1010 CDB, end with later of 4102 or 4103.
ISDN Originating Setup Message Delay Pegs
1010 or 1030 CDB received (Tag 4100 or 4101)
BAM:IGR ISDN SETUP MSG DELAY
Pegged when a 1010 or 1030 CDB is received with a tag 4069 having a value of 0, when the setup duration > 3000 ms. The setup duration is measured from timepoint in earlier of tag 4100 or 4101 of 1010 CDB, end with later of 4102 or 4103.
Number of Defined CICs during the Measurement Period
Start of measurement interval
BAM:TTL CIC DEFINED
Number of circuits provisioned in the Trunk Group table when the PGW_DYNAMIC_UPDATE flag is set to false. Or the value for the number of circuits in the trunk group received from the latest 1071 CDB when the PGW_DYNAMIC_UPDATE flag is set to true.
Suppressed before 1071 CDB is received on trunk group when the PGW_DYNAMIC_UPDATE flag is set to true. Always suppressed for dynamically added trunk groups.
Note No corresponding threshold crossing alert exists for this measurement.
Average Number of Available CICs during the Measurement Period
1071 received
BAM:TTL AVLBL CIC
Total - maintDuration / intervalLength
Where, total = Total number of circuits; maintDuration = total maintenance duration (see "TTL MAINT USE" in Table 12-5 for details); intervalLength = total number of seconds for the measurement period.
Only available if the PGW_DYNAMIC_UPDATE flag is set to true and trunk group is configured in the Trunk Group table. Suppressed before 1071 CDB is received on trunk group. Always suppressed for dynamically added trunk groups.
Carrier-Based Measurements
Carrier-based measurements are grouped by Trunk Group/Interexchange Carrier (IC). Table 12-6 lists these measurements with their mnemonics. It also describes each measurement's trigger time point and tag, derivation, and mapping.
Storage of Measurements
Both carrier-based and noncarrier measurements are stored internally in groups. Each group consists of all the measurements that belong to a particular key. These measurements are then put in subgroups according to interval. Each measurement group contains real-time, hourly, and daily measurements. There are two types of keys or measurement groups. These are noncarrier measurements and carrier-based measurements. Regardless of group type, measurements are held in memory for performance reasons. Up to two time periods for each key can reside in memory simultaneously. These are the current time period and the one preceding the current time period. Because memory is somewhat volatile, the counters must be written to disk to prevent loss of data. At the end of each real-time time period, the contents of memory are written to disk. This disk file is then available to be read at the next startup.
Noncarrier Measurement Production
Noncarrier measurements consist of 45 measurements or accumulators for each of the three intervals kept in memory. This results in 135 measurements for the current time period, plus a possible additional 135 measurements for the preceding time period.
Carrier-Based Measurement Production
Carrier measurements consist of eight measurements or accumulators for each of the three intervals kept in memory. This results in 24 measurements for the current time period, plus a possible additional 24 measurements for the preceding time period.
Memory Allocation
Depending on the operating mode, the system either preallocates counters for all of the configured measurement groups or it allocates counters as activity is detected in each measurement group.
Threshold Crossing Alarms
TCA Table
The Threshold Crossing Alarms (TCA) table contains values and conditions for each measurement that you wish to link to an alarm. These values and conditions are organized by trunk group or Trunk Group/IC (measurement group). Enter the measurement groups that are of concern. You need not populate every value and condition for a specified measurement group. A global measurement group can be specified to be used for all measurement groups that are not specifically entered.
Threshold String Values
Table 12-7 lists the condition value strings and the threshold value strings that you use to identify the condition and threshold values you set in an MML provisioning session with the TCA-TBL tag ID. For more information, see the "Updating the Threshold Crossing Alarms Table" section on page 5-24.
Threshold Crossing Conditions
Each threshold crossing condition is a code that checks the difference (if any) between the user-specified value and the current real-time measurement value. The condition is specified as a number between 0 and 4. Any other value is invalid. Table 12-8 defines the meaning of each condition value.
Condition Value Relationship
Table 12-8 lists condition values used for measurements.
Table 12-8 Condition Values
Value Condition Description0
Ignore
1
Less Than (<)
2
Equal To (=)
3
Greater Than (>)
4
Not Equal To (!=)
Threshold Values
With the TCA-TBL tag ID, you specify the threshold value and the condition value to so that they generate an alarm if a specific measurement condition is reached. For example, for a given measurement, if the condition is set to 4 and the threshold value is set to 10, an alarm is generated if the measurement value is greater than 10. Threshold values are specified as positive integers.
Trunk Group Identification (Threshold Key)
Each threshold specification (threshold value and condition value) must be associated with a measurement group. If the Entered By tag specifies TAG/TRK, the measurement is organized by the trunk group number. If the Entered By tag specifies TAG/TRK/IC, the measurement is organized by trunk group number and an interexchange-carrier number. A special measurement group can be specified to apply to all TAG/TRK measurement groups that are not otherwise specified. This measurement group is identified by the name "global/0," where the TAG is "global" and the trunk group is "0."
Processing Logic
The same logic is used for processing all accumulation periods: computation is based on the time stamps from call detail records generated by the switch. The distinguishing factor among the different accumulation periods is the time period in which two events are considered to occur for the same counter. Counts for any given event are added to the accumulators for the time period that matches the time stamp of the event. More specifically, Table 12-6 identifies the time point for each event that is used to match the accumulator time period.
Three different levels at which statistics can be generated are as follows:
•Using the CDR details
•Using the aggregate CDRs
•Using the correlated CDRs
There are advantages and disadvantages to each of the above approaches. Statistics computed from CDR details result in more frequent updates, and thus a finer granularity of reporting. However, more records must also be processed. Thus, the volume of connections and the length of the switch-reporting interval can dramatically drive up the amount of processing required to make the statistics available. Conversely, computing statistics from aggregated or correlated CDRs provides a more efficient computation, but less timely statistics.
The following section applies to all accumulation types, periods, and levels.
Statistics Subsystem Functions
The Statistics subsystem provides the following functionality:
•Obtains the chain of aggregated CDR details.
•Receives the CDR details in time order from the Augmentation (AUG) task. The CDRs arrive in two types of files: aug_acei and aug_acbc. The aug_acei files contain complete CDRs taken from fmt files. For each fmt file, at least one aug_acei file exists. An aug_acbc file exists for each threshold crossing. The aug_acbc files contain all partial CDRs (CDRs that did not complete during the interval).
•Assigns the usage in real-time, hourly, and daily intervals. For cumulative count fields, a call that began before the start of the interval and has not ended adds the full length of the real-time interval to the count. Any CDR that begins in the interval (but has not ended) adds the time from the start of CDR to the end of the interval. Any CDR that ends in the interval (but did not start in the interval) adds the time from the start of the interval to the end time of the CDR. Any CDR that both begins and ends in the same interval adds the delta between the start and end time of the CDR.
•Calculates hourly counters.
•Monitors check points at the end of every file interval (complete reading of all aug_acei files and the aug_acbc file for the given interval).
•Summarizes the hourly counters and produces daily counters. These tables should be stored in table sets.
•Manages the daily counters so that counters older than a specified retention period are purged regularly.
At any moment in time, two collection intervals are open for updating, the current interval, called "N," and the most recent interval, called "N-1." The two open intervals are necessary because the Cisco MGC does not produce a CDR at the first IAM or seizure; rather, it creates the first indication of a call at answer or abandonment. Because of the particular time points that are recorded by the Cisco MGC, there are some cases where an event is not reported until after the collection interval has been closed, yet the event should be credited to that interval. A bucket or interval shall never be credited for more than the total duration that is available during that interval, regardless of when the indication of the call was received.
A flat file is maintained for each collection interval. In order to provide timely information, buckets for an interval (the current interval, or N) are written as soon as an interval boundary is reached. At the same time, the previous interval (N-1), which may have been updated because of late reports for call abandonment, is rewritten to disk and is not updated again. Very late reports are written to the oldest collection period that is still open, which is always the N-1 interval. The one exception to this rule is at startup, when only the current period is open, until after the first interval boundary is crossed.
Keys and Counters
Keys and counters are stored in memory and written to a checkpoint file on a regular basis.
The key is a unique sequence number used to identify the specific collection of counters. The key fields are the trunk group number and the IC. Table 12-9 lists the key field names and their descriptions.
Counter Sets
Each counter set is made up of three groups of counters, one group for real time, one for hourly, and one for daily. The counters in each group represent running tallies of the specified statistics. Each group of counters represents only the current interval of the counter type (current real time interval, the current hour, the current day). Each counter statistic is credited to the time period in which it occurred. Note that there are different time periods. Hourly counters keep track of the statistics on hourly boundaries. If an event spans multiple hours, one counter for each hour spanned is created. For example, if a call is established at 11:50 and is disconnected at 12:15, one counter for the 11:00 hour is created with 10 minutes of conversation time credited to it, and a second one is created for the 12:00 hour with 15 minutes of conversation time.
Similarly, daily counters credit statistics on daily boundaries.
Frequency of Statistics
In addition to the rollup hourly and 24-hour statistics, which are tabulated with any of the previous options, the system also supports 5-, 10-, 15-, 20-, and 30-minute (real-time), hourly, and daily statistics.
Note You can configure the measurements interval by editing the interval-minutes field in the Node Parameters table. For more information, see the "Updating the Node Parameters Table" section on page 5-11.
Statistics Output
After statistics have been collected, they are output to a flat file. For each real-time interval, an acc_rYYYYMMDDHHMM00 file is created. For each hourly interval, an acc_hYYYYMMDDHH0000 file is created. For each daily interval, an acc_dYYYYMMDD000000 file is created. These files are stored in the opt/CiscoBAMS/data/s0x/Measurements directory.
Note All times are in Universal Coordinated Time, which is taken from the CDR record.
The output files are generated as soon as the ACC task has finished processing the aug_acbc file (last file) for the given interval. This means that the ACC task generates a flat file for the real-time interval at the end of each set of files for the real-time interval (5, 10, 15, 20, or 30 minutes). The hourly output file is generated when the last interval file is processed for that hour. The daily output file is generated as soon as the last interval file for the day is processed. Each file is created on a real-time, 1-hour, and 24-hour basis. Each file contains all of the statistics gathered in the previous period.
In the following section, the term "trunk groups" is used to represent both TAG/Trunk Group and TAG/Trunk Group/IC.
Statistics are generated from CDBs produced by the Cisco MGC. Since the output is reported by TAG/Trunk Group or by TAG/Trunk Group/IC, measurements are produced only for trunk groups that have call activity starts (unless the system is running in configured mode and trunk groups are specified). Therefore, when the system is started, the statistics output files are empty until call activity begins. Regardless of call activity, the appropriate acc_x files are generated. These files can, however, be empty.
Note If CDB files produced by the Cisco MGC software on a Cisco PGW are not available for processing, the acc_x files will not be written for that interval.
Over the course of the day, the system continues to add to the trunk groups that are reported on, as call activity is received. Once added, a trunk group is reported on in every interval that follows, until the end of the day. At midnight, the system generates the acc_d (daily) file. This file contains all of the activity for the day for any trunk group that had call activity during the 24-hour period. Once the daily counts have been reported, the system attempts to clear out as many trunk groups from memory as possible. This step eliminates the need to report on trunk groups that are no longer active. The system purges any trunk group that does not currently have a threshold alarm asserted. These trunks groups must be retained so that the system does not assert additional alarms before the current alarm clears. If the system is running in configured mode, trunks specified in the Trunk Group table are not purged either.
Acc_x files produced after midnight contain only trunk groups that have had call activity after midnight and trunk groups that have threshold crossing alarms asserted. If the system is running in configured mode, trunks specified in the Trunk Group table are also reported.
Since the data is stored in flat files, you can configure MSC to purge outdated statistics.
Example from a MGC acc_h file:
0,972477302,3600,203,"occurrences","BAM:EGR CALL ATT","TG8004"Statistics Output Format
The format for the statistics output mirrors the SS7-type statistics format created on the Cisco MGC. The format is comma-delimited, and appears in the order shown in Table 12-10.
Threshold Crossing Alarms
Each measurement instance can be monitored with a threshold crossing alarm. Threshold values that are permitted are Ignore, Less Than, Equal To, and Greater Than. The system identifies threshold value sets by the TAG and the trunk group number. Each threshold value set consists of a value and a check or test for each measurement category. Threshold value sets can be partially populated to check only one or any number of categories for a trunk group. Any unpopulated category is treated as an Ignore condition.
If no threshold value set has been specified for a given TAG/trunk group, the measurements are checked against a global threshold value set. Like trunk group-specific threshold value sets, the global threshold value set can be partially populated. There is no requirement to specify a global threshold value set. If none is specified, and no specific threshold value set has been entered, then no threshold checks are performed. If a threshold value set has been specified for a given TAG/trunk group, no global test is performed on any categories in that TAG/trunk group.
As measurements are tested against the threshold value set, each time a measurement crosses the threshold value, a minor alarm is generated (ACC227). The text of the alarm contains the strings defined in Appendix A, "Troubleshooting Cisco BAMS," the measured value, the test condition, and the threshold value.
When the threshold is crossed in the opposite direction, a clear alarm is generated containing the same text as the ACC227 alarm. For example, if the test is greater than 5 and the measurement is 8, the minor alarm is generated. If on the next check, the measurement is 10, no new minor alarm is generated. If the measurement drops to 3, the clear alarm is generated. When the system is started, the memory of all alarms is cleared. For example, suppose the measurement is 8 and the system is stopped. When the system first tests the measurement (after restarting), if the value is 8, a minor alarm is generated.
The following special conditions apply to threshold crossing alarms:
•No error is detected if a carrier is applied to a noncarrier-based measurement.
•No error is detected if no carrier is applied to a carrier-based measurement.
•A global threshold exists for TAG/trunk group measurements. The global threshold is specified by "global/0" (as the TAG/trunk group).
•Only those specific thresholds that are entered are checked; all other thresholds are set to ignore.
•If a trunk group-specific threshold is specified, the global thresholds are not checked for that TAG/trunk group.
•A carrier ID of 0 indicates that the carrier should be ignored. Entering abc/8003/0 is the same as entering abc/8003, thus making it a TAG/trunk group specification.
•All thresholds must be entered as integers.
•Conditions must be entered as a value from 0 through 4 (0 = Ignore, 1 = Less Than, 2 = Equal, 3 = Greater Than, 4 = Not Equal)
Note If there is no global/0 defined, any measurement that does not have a specific threshold set for it simply is not checked. The measurement is still reported in the acc_x file, but no alarm is generated, regardless of the value. If global/0 is defined, it is used when no specific thresholds have been specified for a trunk group. If the user sets thresholds for a specific trunk group, only those values specified are checked. Any unspecified measurements within the TAG/TRK are treated as an ignore condition. A trunk group can have a maximum of 64 measurements. A global TCA can be set up with a maximum of 64 measurements, which are listed in Table 12-7. Any trunk group that does not have a specific threshold crossing alarm (TCA) is checked against the global TCA. For some measurements, users can specify TAG/TRK/IC, where TAG is a user identifier, TRK is the trunk, and IC is the interexchange carrier. The user needs to know the carrier codes, such as 0288 for AT&T. Three-digit codes must be entered as four digits with a leading 0.
Zero Counts
The ACC task can operate in several different configurations with respect to zero counts. One configuration parameter outputs or suppresses all measurements that are equal to zero. The other configuration parameter selects all dynamic measurement group output or configured measurement group output regardless of activity.
Zero Count Suppression
Within each trunk group or trunk group/IC (measurement group), some measurements might not accumulate. For instance, if a trunk group is configured as an outgoing trunk, the ingress measurements are never pegged and the ingress durations are never anything other than zero. The ACC task provides a command-line switch to suppress these values. By default, if a measurement group has one measurement that is greater than zero, all measurements for the group are included in the output file. A command-line switch can override this feature and only non-zero values within each measurement group are output. If rounding or truncation causes an output measurement value to be zero, the ACC task treats the measurement as a zero and suppresses it if that feature is active.
Configured vs. Dynamic Trunk Group Output
Dynamic measurement groups are output only if they contain at least one non-zero measurement since midnight or have an alarm asserted. This is known as dynamic output. In BAMS, an MML option is available to output all configured measurement groups only, regardless of measurement values (configured mode), to output dynamic measurement groups only (dynamic mode), or to output both configured and dynamic measurement groups. (For more information, see the dynamicaccumes field in the "Updating the Node Parameters Table" section on page 5-11.) This is a dynamic parameter that is reread at the start of each measurement interval. The trunk groups are also dynamic and are reloaded at the start of each measurement interval. If BAMS is not set for configured mode (dynamic mode or both) any activity detected on a nonconfigured trunk causes the trunk group to be added dynamically (as if in dynamic mode) and measurements are output.
If a trunk group is removed from the configuration, it no longer generates output if it has no counts accumulated for the day. The trunk group continues to be output if any counts for the day have accumulated. Likewise, if a trunk group is not configured and counts accumulate for that unconfigured trunk group (dynamic addition), the measurements for that trunk group are output for the remainder of the day.
The only distinction between a configured trunk with counts removed and a dynamic trunk with counts is that at the end of the day, the dynamic trunk has its pending alarms cleared if there are any. If a dynamically added trunk has an alarm pending at the end of the day, it continues to be reported into the next day and the alarm clears only when the threshold is crossed in the reverse direction.
Changing the overall mode to dynamic from configured causes any trunk groups with no counts accumulated for the day and no alarms to be removed from the output list. All other trunks are changed to dynamic. At midnight, all trunks are then treated as dynamic in the manner described above.
If the system is changed from dynamic to configured, all of the configured trunks are marked as configured, and any other trunks being reported prior to the mode change remain dynamic. All carrier-based measurements are dynamic. These cannot be preconfigured.
Rounding of Measurements
All measurements that are output as a percentage are rounded up or down to the nearest percent. This causes any percentage measurement that is less than 0.5 to round down to zero. The displayed value is zero, internally, but the ACC task maintains the decimal portion of the percentage. Under this condition, the ACC task considers the group to have at least one non-zero measurement. If the system is configured to suppress zero counts (with the NODEPARMS tag ID), the measurement is not displayed.
Truncation of Measurements
All measurements that are output as a duration are truncated to seconds. The ACC task performs all calculations to the millisecond. The truncation is applied only to the output measurement value. Any real-time duration that contains milliseconds is added to the hourly and daily totals with the milliseconds intact.
Last Interval Update
Introduction
Due to the manner in which the VSC produces data, BAMS must sometimes update the measurement data that was output in the previous interval. The VSC does not generate an event when a line is seized. The first event produced is an answer or an abort. Because of this, it is possible for a seizure to take place in one interval, and the answer or abort to take place in the next interval. When this happens, the ACC task determines what pegs or setup durations should be credited to an interval that has already been processed. Then the ACC task applies the measurements to the previously closed interval.
Preliminary vs. Final Measurements
The measurements for each interval are written twice. The first time the measurement file is written, the values are as accurate as possible, given the data provided by the VSC to that point. This write takes place as quickly as the system can process the data following the detection of data that belongs to the next interval. Because some events might not have been signaled by the VSC (seizure), the counts might not be 100 percent accurate.
When the system detects data from the following interval, the system again processes the measurements. At this time, if events are present for calls that began in an interval prior to the current one, the prior interval measurement data is updated. This is the last time that the ACC task writes to the previous interval. Since during any interval, the ACC task will make the final write to the previous interval before making the preliminary write to the current interval, the data in any output file is final when a measurement file exists for a later interval.
Interval-Update Rules
BAMS follows these rules when performing last-interval updates:
•Only the interval prior to the current interval can be updated.
•If pegs are detected that apply to an interval older than the previous interval, those pegs are applied to the previous interval. This ensures that the pegs are included in the hourly and daily totals. This also ensures that the sum of the intervals equals the daily and hourly totals.
•If durations are detected that apply to an interval older than the previous interval, those durations are dropped. This prevents any interval from possibly exceeding 100 percent utilization. The duration is not applied to the hourly or daily totals in order to ensure that the sum of the intervals equals the hourly and daily totals.
•On startup, there is no previous interval; therefore, the current interval is treated as the previous interval.
•The previous interval is updated before the preliminary measurements are written for the current interval.
•When a previous interval ends an hour, the hourly measurement file is also updated.
•When a previous interval ends a day, the daily measurement file is also updated.
Nonprovisioned Trunk Group Measurements
Measurements data is written for calls in which the trunk group is not provisioned in the Trunk Group table on BAMS. However, the following special rules apply to nonprovisioned trunk group measurements.
•When BAMS encounters the nonprovisioned trunk group, pegs are written for that trunk group, including 0 counts until midnight when the memory is cleared.
•Any peg that requires the number of circuits to calculate will be suppressed. The number of circuits are only maintained for trunks defined in the Trunk Group table; therefore, BAMS has no knowledge of the number of circuits when the trunk group is not provisioned.
•Cisco recommends checking the /opt/CiscoBAMS/files/s0x/FMT_cdr.log in which nonprovisioned trunk groups are reported. When you detect a nonprovisioned trunk group, configure the trunk group as soon as possible.
MGCP Dial and MGCP Scripting Handoff Measurements
In MGCP Dial and MGCP Script Handoff calls, the Egress trunk group (4015), Egress SigPath (4070) and Egress BearChan (4072) fields are not populated. Thus, special treatment is required for these calls. A MGCP Dial or MGCP Scripting call is defined as a call where Egress Protocol (CDE Tag 4073 from 1010 or 1030 CDE) equals 9 or 10.
When processing MGCP Dial and MGCP Script calls, BAMS does not peg the following Egress measurements:
•BAM:EGR CALL ATT
•BAM:EGR CALL BLKD
•BAM:EGR TERM NORM
•BAM:EGR PCT TRK USE
•BAM:EGR OFL BLKD
•BAM:EGR TANDEM ATT
•BAM:EGR TANDEM COMPLT
•BAM:EGR CONV DURATION
•BAM:EGR SETUP DURATION
•BAM:EGR TEARDOWN DURATION