Request: What information is required to write a plugin?

Moderator: Luanda_Junzi

Request: What information is required to write a plugin?

Postby Belinda Frick » Tue Nov 30, 2010 11:32 am

The purpose of this document is to explain what information we need to develop
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

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
    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.
Belinda Frick
Posts: 3757
Joined: Fri Nov 12, 2010 4:25 pm

Re: Request: What information is required to write a plugin?

Postby Belinda Frick » Mon Sep 17, 2018 12:17 pm

If your PABX does not send of data using using the standard options:
  • Serial cable
  • TCP IP and Port
  • file

For example SMDR data is sent via TAPI, additional information is required to receive call details:

  • PABX Brand and Model.
  • How to connect to the PABX to get SMDR/TAPI data.
  • Are additional hardware or software required for the PABX to enable this facility?
  • A test system where the implementation can be tested.
    A Test system in our office will always work the best,
    since it can be set and tested while doing the development.
  • Contact details to setup testing with the PABX at our office.
NOTE: You will require detailed information from your PABX Support.
Belinda Frick
Posts: 3757
Joined: Fri Nov 12, 2010 4:25 pm

Return to Support Archive's (TOPAZ)

Who is online

Users browsing this forum: No registered users and 1 guest