the plugin. It will explain which type of test calls is needed (in rawdata
format, created by PABX3) and what information is needed to identify these calls
in the rawdata (refer to section 2 and 3).
Overview: Explanation (How is a plugin written?)
To develop the plugin, PABX3 needs to translate the call data string sent by the PABX.
example of a data string (PABX rawdata):
- Code: Select all
47 POT 13:30 06/13 001 00:00:03 4000 5094512 0
The PABX3 translates this data string to a standard pipe-delimited format for TOPAZ to import.
example of the pipe string:
- Code: Select all
Date|Time|Ext|Number|IO|Account|Hour|Min|Seconds|Line|Action|Pulses|RingTime|Reference|DID|
To translate the rawdata sent off by the PABX to this pipe string, we
need to be able to identify the call data required by TOPAZ. The pipe
string contains all the information that needs to be extracted from
the rawdata of your PABX.
Therefore we need the following information to develop the plugin:
- Rawdata.
The format of the call data string being sent off by the PABX, for example:- Code: Select all
32 POTW 08:58 014 00:00:30 230 0761603351 0 W/050
33 PIN 08:59 002 00:00:12 200 0:05
34 POTW 08:58 003 00:01:42 224 0218729541 0 W/006
35 POTW 08:59 004 00:00:22 220 0218076188 0 W/036
36 POTW 08:59 001 00:00:50 227 05175320191 0 W/020
37 POTW 08:58 006 00:01:59 261 0218643793 0 W/041
38 POTW 08:59 015 00:02:01 230 0761603351 0 W/050
06132006 PAGE 002
CLASS TIME DATE LINE DURATION STATION DIALLED No.CLI RDCOST ACCOUNT
47 POT 13:30 06/13 001 00:00:03 4000 5094512 0
48 POT 13:30 06/13 003 00:00:00 4002 0834591829 0
49 POT 13:30 06/13 001 00:00:00 4000 5094515 0
50 POT 13:35 06/13 002 00:00:06 4000 0724407322 0
51 PIN 13:39 06/13 001 00:00:05 4000 0:07
52 PIN 13:40 06/13 001 00:00:13 4000 0:09
53 POT 13:43 06/13 001 00:00:00 4002 0
A rawdata file to do testing with (created with PABX3 - see step 2 in forum post no call data on Call List Page, buffer full light flashes). When using PABX3 the rawdata is located in C:\Program Files\Datatex\Pabx3\Rawdata. - Documentation on the following:
In this example we have field headings for the rawdata. This is not the case with all PABX models. To interpret the rawdata from the PABX, we need to know:- what each field means (date, time, extension, number, duration, ringtime, etc).
- How the call direction is determined (incoming and outgoing calls).
- How the call action is determined (for example incoming transferred, outgoing answered).
- If no documentation is available, then we need test calls to help figure out how to translate the call data string. When making test calls please note the:
- Date
- Time
If a site is very busy then it can have multiple calls at the same time. To identify the actual
test call, please note the PABX time the call was made (do not use you watch or cell phone time).
You can check the PABX time on the phone if it has LCD display or on the switchboard. - Extension
This is the extension the call was made from or received on when making the test call. Also note
that some systems has virtual extension, note which extension number is used. - Telephone number
This is the number dialed from the extensions (outgoing) or the number the call is received from
on that extension (incoming). Please note that some systems does not have incoming CLI. You need
to make sure that the incoming test call can be detected clearly. - Call Action (for example incoming answered, outgoing unanswered, incoming transferred, ...)
- Call Direction (incoming or outgoing)
- Account
When making the test calls please note that it must be clearly identified (refer to "example of the pipe
string" in the section "Overview: Explanation (How is a plugin written?)".). If possible, use different
telephone numbers and extension when making incoming or outgoing calls and for different call actions.
- We need to set a standard for this plugin. Therefore we need the following:
The PABX brand name.
The PABX model.
Software version.
Software release.
The PABX settings for this rawdata.
This information will be used with the naming of the plugin and setting up documentation
for requirements to use the plugin.