PIKA Technologies Inc. Digital Logger Application Sample April 2010.

Slides:



Advertisements
Similar presentations
MQ Series Cross Platform Dominant Messaging sw – 70% of market Messaging API same on all platforms Guaranteed one-time delivery Two-Phase Commit Wide EAI.
Advertisements

Three types of remote process invocation
Castelle FaxPress Plus™ FaxPress Premier and FaxPress Enterprise
27 Oct-2010 / 1 Asterisk PRI Passive Call Recording Moises Silva Senior Software Engineer. Sangoma Technologies.
Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
FreeSWITCH ISDN David Yat Sin
DataMigrator 7.7 in Real Time
Windows Communication Foundation and Web Services.
VoIP on a Wireless LAN Orly Goren Tomer Shiran Lior Nir.
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
Palm Multimedia and VoIP Design CS525 Semester Research/Design Marc Pevoteaux Ron Erickson.
Using the Trigger Test Stand at CDF for Benchmarking CPU (and eventually GPU) Performance Wesley Ketchum (University of Chicago)
02 Aug-2010 / 1 FreeTDM PRI Passive Call Recording Moises Silva Senior Software Engineer. Sangoma Technologies.
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
Windows audio architecture Win MM Application DirectSound Application SysAudio.SYS Kmixer.SYS WinMM.DLLDSound.DLL Device Drive Container USB Device Driver.
PIKA Technologies Inc. Analog Logger Application Sample December 2009.
Module 2 Chapter 1:WAN’s and Routers. Topics 1.1 WANs 1.2 Routers.
Welcome! Today’s Webinar: PIKA’s MonteCarlo Tools Irene Crosby Head of Marketing PIKA Technologies.
Developing WIA Drivers Byron Changuion Developer Windows Imaging Group Microsoft Corporation.
Data Acquisition Data acquisition (DAQ) basics Connecting Signals Simple DAQ application Computer DAQ Device Terminal Block Cable Sensors.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
EPICS devSNMP Extensions Euan Troup, CSIRO Australia Telescope National Facility ASKAP Project Paul Wild Observatory.
Lecture Set 2 Part B – Configuring Visual Studio; Configuration Options and The Help System (scan quickly for future reference)
What’s TSP ? Code : STM#340 STM#340: What’s TSP ?
DIGITAL RECORDING SYSTEM Installation Setup Wizard About Our Software.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Some Design Notes Iteration - 2 Method - 1 Extractor main program Runs from an external VM Listens for RabbitMQ messages Starts a light database engine.
User Application Low Level API High Level API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog.
User Application AoH APIAoB APIGP API RequestsData & Events Daytona MM PCI Inline MM PCI PrimeNet MM PCI cPCI PrimeNet MM Digital Gateway Low Level API.
KeyStone Training Multicore Navigator: Packet DMA (PKTDMA)
1 © 2003, Cisco Systems, Inc. All rights reserved. Proprietary and Confidential Unity Connection 2.0(1) Miu Architectural Overview TOI June 10, 2007 Mike.
PIKA Technologies Inc. HMP Conference Application Sample May 2010.
User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe.
PIKA Technologies Inc. RPC Client/Server Application Sample October 2009.
SKYPIAX, how to add Skype capabilities to FreeSWITCH (and Asterisk) CHICAGO, USA, September 2009.
1 © 2005 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Public Cisco Unity Connection Notification Jane Rygg Core Services.
AGVCR AccessGrid Video “Cassette” Recorder © 2005 Derek Piper and the Indiana University School of Informatics 02/07/2006.
NUNIT Navaneeth Rajkumar Open Source Tools Team Project Central.Net.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
PIKA Technologies Inc. CAS Logger Application Sample August 2014.
PIKA Technologies Inc. Digital Logger Application Sample March 2010.
Ceilometer + Gnocchi + Aodh Architecture
PIKA Technologies Inc. FSK Bypass Application Sample October 2009.
FOCOMM_CAMAC Setup and Usage Guide Andrew Wong, Larry Ruckman.
Assignment 1 tutorial. Assignment 1 Programming part: – Socket programming: a chat room application – Individual assignment – Deadline 20 th Oct 2015.
GlobalCall for SS7 Status Update October Page 2 GlobalCall SS7 - Overview  Provides GlobalCall Call Control Library for SS7 ISUP and TUP protocols.
Homework Assignment #1 J. H. Wang Sep. 22, Homework #1 Chap.2: 2.10 Chap.3: 3.1, 3.4, 3.5* (or 3.6*) Chap.4: 4.6, 4.8* (Optional: End-of-chapter.
Ladebug Kernel Debugging Tutorial Bob Lidral. Introduction Kinds of kernel debugging How to use Ladebug for kernel debugging Not how to debug a kernel.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Advanced Task Engine Doing Cool Stuff with Cool stuff!
Code : STM#340-3 Samsung Electronics Co., Ltd. How to Trace ? Distribution EnglishED01.
User Application AoH APIAoB APIGP API RequestsData & Events Daytona MM PCI Inline MM PCI PrimeNet MM PCI cPCI PrimeNet MM Digital Gateway Low Level API.
LonWorks Introduction Hwayoung Chae.
Session 403 An Introduction to MST in Communication Manager Jeff Lusby Voice Architect.
Tiva C TM4C123GH6PM UART Embedded Systems ECE 4437 Fall 2015 Team 2:
1 Build Your Own MySQL Time Machine Chuck Bell, PhD Mats Kindahl, PhD Replication and Backup Team Sun Microsystems 1.
Windows Communication Foundation and Web Services
DS200 IDEA LINE PARAMETERS
Error Handling – the Debug and Trace Classes
Data Transport for Online & Offline Processing
CC2650 RF Min-ju Kang RTLAB.
Configuration for gLite
Windows Communication Foundation and Web Services
User Application GP API AoH API AoB API Requests Data & Events
Lab 7 Instructions By Yeong Choo and Sam Kanawati
Training Module Introduction to the TB9100/P25 CG/P25 TAG Customer Service Software (CSS) Describes Release 3.95 for Trunked TB9100 and P25 TAG Release.
Arduino Leonardo Setup
Infokall Enterprise Solutions
Presentation transcript:

PIKA Technologies Inc. Digital Logger Application Sample April 2010

What is it? Sample Application developed in C++ and C# Can be used to passively record calls from Digital T1/E1 spans Works on HMP 2.8+ platforms (Windows, Linux) with PIKA Digital PCIe Boards Files can be saved in.wav or raw formats

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.8.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$.extension When a ISDN Disconnect or Release message is detected, the audio file will be saved and closed. It is also possible to copy the audio buffers to the application. This can then be used to listen to the conversation in a live session.

Digital Logger API Application thread Diagram Main Application Digital Logger Event Thread PIKA Driver Spawn Thread PKH_BOARD_XXX PKH_SPAN_XXX PKH_CHANNEL_XXX Application Event Thread DL_Initialize DL_SetCallAudioBufferCB Spawn Thread DL_SetCallAudioBufferCB DL_WaitOnEvent DL_WaitOnEventSerialized Audio function CB DL_Start DL_Stop DL_Cleanup PKH_ Wait On Event

Using the Digital Logger API There are different APIs available (for windows) 1)Compile all source into an application DL_XXX : include digitallogger.h 2)Compile application with DLL PKDL_XXX : include DigitalLoggingDll.h 3)Compile application in C# Use namespace DigitalLogger in DigitalLogger.cs

API call scenario Main Application thread DL_Initialize(tApplicationConfiguration config) // Initialize system DL_SetCallAudioBufferCB(Pf_callAudioBufferCB func) // Set callback if you want to listen to live audio Create an event thread and call DL_WaitOnEvent(PK_UINT timeout, tApplicationEvent *event) DL_Start() // Start the system A Call is triggered from the CO Application Event Thread DL_WaitOnEvent returns EVENT_CALLSETUP, SpanId1 specifies the span origin DL_WaitOnEvent returns EVENT_CALLCONNECT Digital Application Wrapper The call will be recorded in an audio file The Audio Buffer Call Back will the called with the audio buffer The Call is hung up Application Event Thread DL_WaitOnEvent returns EVENT_CALLRELEASE Digital Application Wrapper The recorded file is closed Main Application thread DL_Stop() // Stop the system Stop Application thread DL_Cleanup // Cleanup the system

DigitalBoard Class Hierarchy and containment Span Channel Hdlc Call BaseEntity LogClient Logger (singleton) *30 System 1 n

Passive Logging HDLC Media Processing Passive Logging – Application Call Logs Audio Files Process ISDN Messages PKH_SPAN_HDLC_X Audio Record HMP Digital Board - PCIe CO PBX T1/E1 Span RX- Tip/Ring TXRX TXRX Jumpers

Passive Logging Architecture CO TX RX PBX TX RX HDLC Audio MM Conf M Record File ISDN Events ISDN Events 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 0 Span 1 Do No Connection Do No Connection PIKA Digital T1/E1 HMP Board - PCIe

Call/Span/Channel allocation Span Span Span Span Call Ids

Where can I find it? The Source code is located under: Some additional info: