A template file is a set of instructions telling the system how to extract the necessary information from the data sent from your telephone system. A sample template is shown here to demonstrate its use.

'IPBX Demo Template
'Created 13 May 2001
'at 20:14 by JOHNSMITH
 
Type = TEXT
 
[Options]
 
HeaderLike = " DATE ##-???-##*"
HeaderTake = "      xxxxxxxxx"
 
[CallTypes]
 
'Outgoing Direct
##-???-## ##:##:##      ???#:##   ###  
aa bbb cc  dd ee ff     hhhh ii   jjj  
1

The file consists of a [Type] and [Options] section required to pre-process the data before it is usable, and a [CallTypes] section which holds the information necessary to extract the call record components from the raw data.

[Type] Section

This describes how the information is presented to the software. Possible options are described below:

TypeDescription
TEXTDenotes that the data consists of plain text subscribing to the ASCII standard.
BCD2.4Binary-coded decimal values, such as the proprietary format used in the Siemens Realitis PBX.
EXTERNALInforms the system that the data needs to be passed to another separate application before the processing is possible. The path to the external application must be supplied as well in the  [Options] section under the key name ExtPPFilename.

[Options] Section

This section contains the settings necessary to determine what data pre-processing is required - if any- before the individual call record elements can be extracted. Possible options are described below:

OptionDescriptionDefault value
EndTimeInforms the call processor that the call time specified is actually the time that the call ended. This ensures that the duration of the call is subtracted from the given call time to achieve the effect of the start time. All call data stored in the database assumes that the call time is the time that the call started, not ended.true or false
SubtractAnswerTimeNotifies the call processor to subtract the answer (response) time from the call duration. Use this option if the duration of a call includes the response time.true or false
AddAnswerTimeNotifies the call processor to add the answer (response) time to the call duration, if not outputted by the PBX already.true or false
StartEndDurationThis option is used when a PBX outputs the call's start and end time separately, but no duration time. As the system requires a call duration, the end time will appears as the duration, in which case this option will instruct the system to subtract the value specified for call time (elements d, e and f) from the value specified for duration (elements g, h and i), in order to achieve the correct duration.true or false
LinesInforms the system how many lines make up a call record. Requires the Line1 option in order to know how to recognise the first line of a call record. The pre-processor will then amalgamate all lines of a call record into a single line. 
Line1Instructs the system how to identify the first line of a call record, whereafter the system knows how many further lines are necessary before the amalgamation occurs (see Lines option, above). 

[CallTypes] Section

This section contains information about how the system identifies each line of call logging data, in terms of its call type, e.g. outgoing, incoming, etc, and how to extract the call record elements from the each line. Each call type is being assigned a code, which is then used to identify each line of data with a particular type of call.

Each type of call consists of three lines of data, as shown below:

'Outgoing Direct Dial
##-???-##  ##:##:##             ???#:##   ###   ###   ####?????????????????????????????????##*
aa bbb cc  dd ee ff             hhhh ii   jjj   mmm   kllllllllllllllll
1
First line
SymbolDescription
##-???-## ##:##:##The match line, which informs the system how to match this particular call type
#Indicates any digit between 0 and 9
?Indicates any character including letters and numbers
*Indicates that any character or number of characters further on that line are ignored
Second line
SymbolDescription
aa bbb cc dd ee ffInforms the system how to extract each call record element from the line of data
aaSpans the first two characters of the data line meaning that the call date's day should be taken from here;
bbbSpans three characters starting at column 4, showing where the month is taken from.
Third line

The third line contains the code associated with the type of call. These call type numbers are internally used to identify the call type, as follows:

Call Type #Type of Call
1Outgoing direct dialled
2Outgoing failed to connect
7Mobile call
8Mobile SMS
50Outgoing transferred
100Answered direct dialled
101Answered transferred
150Abandoned direct dialled
151Abandoned transferred
200Internal call
300Feature call (dialled number should contain the feature number)
400Tandem Call
500Event types sent to CTI server