A configuration file should contain a set of category definitions, followed by event definitions.
CategoryDefinition := <Category> CategoryName EventList
</Category>
EventList := EventSpec | Event EventList
EventSpec := <E> EventName
EventDefinition := <Event Type> EventName AttributeList </Event
Type>
AttributeList := Attribute | Attribute AttributeList
Attribute :=
<A>AttributeName~Type~DefaultValue~Range</A>
Type := string | int | utime
<Category>"Call Detail"
<E>"Call Failure"
</Category>
<Category>Exceptions
<E>"Machine Exceptions"
<E>"Trunk Group Exceptions"
<E>Discretes
</Category>
<Category>Controls
<E>"Call Gap"
<E>CANF
<E>CANT
<E>SKIP
<E>Reroute
<E>DOC
<E>STR
<E>CRO
<E>SILC
</Category>
<Event Type>"Call Failure"
<A>Report Type~string~~</A>
<A>Time Stamp~string~~</A>
<A>Reporting Office~string~~</A>
<A>Office Type~string~~</A>
<A>PFX~int~~</A>
<A>NPA~int~~</A>
<A>NXX~int~~</A>
<A>ABC~int~~</A>
<A>Reason~string~~</A>
<A>Destination Office~string~~</A>
<A>Trunking~string~~</A>
<A>Other-end Office~string~~</A>
</Event Type>
<Event Type>"Machine Exceptions"
<A>Nid Time~int~~</A>
<A>Ni Time~int~~</A>
<A>Reporting Office~string~~</A>
<A>Period~string~~</A>
<A>Office Type~string~~</A>
<A>Name~string~~</A>
<A>Value~string~~</A>
<A>Severity~int~~</A>
<A>Alarm Type~int~~</A>
</Event Type>
<Event Type>"Trunk Group Exceptions"
<A>Nid Time~int~~</A>
<A>Ni Time~int~~</A>
<A>Reporting Office~string~~</A>
<A>Period~string~~</A>
<A>Office Type~string~~</A>
<A>TG ID~int~~</A>
<A>Name~string~~</A>
<A>Value~string~~</A>
<A>Severity~int~~</A>
<A>Alarm Type~int~~</A>
</Event Type>
<Event Type>"Discretes"
<A>Nid Time~int~~</A>
<A>Ni Time~int~~</A>
<A>Reporting Office~string~~</A>
<A>Period~string~~</A>
<A>Office Type~string~~</A>
<A>Name~string~~</A>
<A>Value~string~~</A>
<A>Severity~int~~</A>
<A>Alarm Type~int~~</A>
</Event Type>
<Event Type>"Call Gap"
<A>Where~string~~<File>rspte.data</File></A>
<A>Code~int~~MINMAX(0,999999)</A>
<A>a boolean type~boolean~~~</A>
<A>a date~datetime~~MINMAX(12/6/95, 1/1/97)</A>
<A>a float~float~~</A>
<A>a hierarchy~string~5.1~ENUM(
5(s51,s52,s53,s54),
4(s41,
s42(ss41(sss41,
sss42,
sss43(ssss431, ssss432, ssss433)),
ss42,
ss43),
s44),
3,
2,
1)</A>
</Event Type>