Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(CACL)
5 December 2006
Outline
Background and Motivation
Other Call Analysis and Classification Tools
Uses for CACL
Data Flow Overview
Running the CACL Command
Output from CACL
CACL Post-Processing Tools
CACL Scenario Language
caclSort
Parsed
logs for
all FMS
sorted by
RNTI
Decoded
BSC/BTI
logs per
FMS
(BIG)
cacl
CACL
Scenario
File
messages.pl
cacl
output
records
(one per
call)
Parsed
BSC/BTI
logs per
FMS
(small)
cat
Post processing
- caclReport
- caclSelect
- sed/grep/wc
- etc
Parsed
BSC/BTI
logs for
all FMS
17:08:53.515
11:52:33.822
17:28:26.931
17:24:16.160
17:38:39.223
17:35:46.562
12:14:21.512
-7
-14
e2d
-14.5
-10
-11.5
-21.5
RNC RLC DCCH failure after 6.5+ sec w/o major activ
ASU: UE RLC DCCH failure waiting for ASUC
NB RLF (1 RL) after 4.5+ S w/o major activity
ASU: NB RLF waiting for ASUC
ASU: NB RLF waiting for ASUC
RNC RLC DCCH failure, no procedures, within 6.5 S o
CM: Failure within 4 seconds after cancelling recon
Location of files
On macroni cluster machine (e.g. bldr): /home/umtslogs/tools
Or via:
http://mobility.ih.lucent.com/~erschroe/umtslogs/tools/
Important files:
cacl main command
cacl.pl called from cacl
caclSelect, caclReport post processing tools
scenCsDrop current scenario files for CS drops
scenHsDrop current scenario file for HS drops
caclSort command to sort BTI parsed log files
caclSort <inputFile >outputFile
cat parsed*fms* | caclSort >parsed.sorted
Global config
Variables
Scenario 1
Scenario 2
CSL: Scenarios
Message types
Nb NodeB (NBAP)
Cn Core (RANAP)
Rn RNC (RNSAP)
Ue UE (RRC)
Ns - NAS
Example
SCAN_FOR_EVENTIuReleaseRequest
REQUIRE_NEXT_EVENT <pattern>
Next BTI event must contain pattern (except for ignored
events), otherwise scenario does not match
Trace cursor is positioned at next event
CSL: PROHIBIT_NEXT_BLOCK
Just like REQUIRE_NEXT_BLOCK except block must
fail for scenario to continue processing
Example: Require no events for the next 10 seconds,
except for TPU measurement reports
PROHIBIT_NEXT_BLOCK
IGNORE TpU:MeasurementReportIndication
REQUIRE .
TIME_LIMIT SINCE_LAST_MATCH 10000
END_BLOCK
CSL: Variables
CSL: Variables
Variables can be used to collect state information about a call
Useful for
- State checks within a scenario (e.g. ASU active)
- Post processing analysis (variables are included in
one-line summary output for a call)
All variables are global (not part of scenario)
Besides user defined varialbles, there are several system defined
variables (e.g. RNTI)
User variables should be declared with an initial value
(by default initial values is NIL)
Variables can be set explicitly within scenarios, or scan
patterns can be defined
Pattern scanning for variables is CPU-intensive; the results
of a scan can be saved and reused in subsequent scenarios
Perl syntax is used for setting and comparing variables
- Trivial when constant values are used
Writing Scenarios
Think about the event sequences that can be handled with
one event block
- Can occur in any order
- A single time limit is acceptable
Using an ALLOW . command in an event block lets you avoid
having to anticipate any extraneous event that might occur in
a call, but can also allow matching of unintended sequences
Use debug options (-d and r) to trace processing as a
scenario is applied to a specific RNTI
Look at samples