PIKA Technologies Inc. Digital Logger Application Sample March 2010

Post on 20-Jan-2016

28 views 0 download

Tags:

description

PIKA Technologies Inc. Digital Logger Application Sample March 2010. What is it?. Sample Application developed in C++ Can be used to passively record calls from Digital T1/E1 spans Works on HMP 2.7+ platforms (Windows, Linux) with PIKA Digital PCIe Boards - PowerPoint PPT Presentation

transcript

PIKA Technologies Inc.Digital Logger Application Sample

March 2010

What is it?

• Sample Application developed in C++• Can be used to passively record calls from Digital

T1/E1 spans• Works on HMP 2.7+ platforms (Windows, Linux) with

PIKA Digital PCIe Boards• For Windows, a wav converter application is included

to convert from raw to Wav format

Overall Architecture Description

• At start-up the main thread will create all the required instances. It will therefore create the digital board instance and its associated members.

• Each instance will communicate with the PIKA Driver (PKH_XXX) to configure and start it’s associated objects.

• The main thread will then spawn the event thread.

• The event thread is used to handle asynchronous events from the PIKA driver.

• For debugging purposes an event message logger (not to be confused with the digital logger) has been included to show events on the console and can also be injected to the PIKA Driver logs.

• The DigitalBoard instance contains 4 span instances and up to 2*30 calls. A particular call is associated to 1 channel for each of 2 spans. We should note that signalling channels are created but are not actually started.

• Each Span instance contains 1 hdlc and up to 30 channels.

Getting Started

• Install the PIKA Low Level HMP API on a PC ( 2.7.x or newer ) as described in the Getting Started Guide

• Remove the line jumpers on the PIKA HMP PCIe digital board.

• Install the board in the PC• Cabling - requires some specific wiring• Download, Compile, and run the Digital Logger

application

Sample Code - Overall Architecture

• At start-up, the sample application will statically create all of the resources needed to Passively Record on all channels and spans

• The event thread handles asynchronous events from the PIKA driver.

• For debugging purposes an event message logger (not to be confused with the digital logger) has been included to show events on the console and can also be injected to the PIKA Driver logs. There are multiple debug levels that can be controlled via a compile flag.

• A 4 span board can log 2 T1 or E1 connections

• Each Span uses an HDLC to capture ISDN messages and via the PIKA Low Level API, these messages get sent to the application for processing.

Overall Architecture Description

• The Hdlc instance is used to handle incoming ISDN Q.921/Q.931 messages. When a valid Q.931 message is decoded (cisdntranscoder.cpp), the channel detected shall setup a call.

• The call will then start listening to the conference between the 2 previously associated channels and output the conversation to a file. The filename will have the following format:

• Board_#_Call_#_$date$.wav

• When a ISDN Disconnect or Release message is detected, the audio file will be saved and closed.

Application thread Diagram

Main Thread

Event Thread

PIKA Driver

Spawn

Thread

Incoming Event

PKH_BOARD_XXX

PKH_SPAN_XXX

PKH_CHANNEL_XXX

DigitalBoard

Class Hierarchy and containment

Span

Channel

Hdlc

Call

BaseEntity

LogClient Logger (singleton)

1

4

1

1

32

2*32

System

1

n

Passive Logging

1

0

2

3

HDLC

HDLC

HDLC

HDLC

MediaProcessing

Passive Logging – ApplicationCall Logs

AudioFiles

ProcessISDN MessagesPKH_SPAN_HDLC_X Audio

Record

HMP Digital Board - PCIe

CO

PBX

T1/E1Span

RX- Tip/Ring

RX- Tip/Ring

TX RX

TXRX

Jumpers

Passive Logging Architecture

COTX

RXPBX TX

RX

RX RX

HDLC HDLCAudioAudio

M M

Conf

M

Record

File

ISDN

Events

ISDN

Events

Tip / Ring Tip / Ring

Passive Logging – Cabling

PBX

Telco

TX Tip

TX Ring

TX Tip

TX Ring

RX Tip

RX Ring

RX Tip

RX Ring

RX

TIP

RX

RING

TX

TIP

TX

RING

RX

TIP

RX

RING

TX

TIP

TX

RING

Span 0Span 1

Do No

Connection

Do No

Connection

PIKA Digital T1/E1 HMP Board - PCIe

Call/Span/Channel allocation

0 1 2 3 2

8

2

9

3

0

3

1

Span 1

0 1 2 3 2

8

2

9

3

0

3

1

Span 2

0 1 2 3 2

8

2

9

3

0

3

1

Span 3

0 1 2 3 2

8

2

9

3

0

3

1

Span 4

0

32Call Ids

1

33

2

34

3

35

28

60

29

61

30

62

31

63

Where can I find it?

• The Source code is located under:• http://svn.pikatech.com/customercare/trunk/samples/DigitalLogger/

• Some additional info:• http://forum.pikatechnologies.com/showthread.php?t=170