Follow us on Facebook
Follow us on Twitter
Signalogic on LinkedIn

Home > Software Products > DeepLI™ Lawful Interception
DeepLI™ Lawful Interception software maps to the LEA domain in ESTI terminology
DeepLI™ Lawful Interception software maps to the LEA domain in ETSI HI
(Handover Interface) functional block diagram (ETSI TS 133 108 v14.0.0 ◳ Figure 4.1)

DeepLI™ Lawful Interception software supports flexible site models, including On-Premise, Co-Located, and SaaS (cloud LI)
DeepLI™ Lawful Interception software supports flexible site models,
including On-Premise, Co-Located, and SaaS (cloud LI). See Site Models below

DeepLI™ - Lawful Interception Software


Overview

DeepLI™ (Deep Lawful Interception) is a new generation of Lawful Interception software with emphasis on site model flexibility, extreme high capacity, superior audio quality, and deep learning. Site models include on-premise, co-located, and SaaS (cloud LI). Addition of deep learning support is ongoing, including speech recognition and diarization.

DeepLI is currently deployed in Tier 1 LEAs and carriers 1. Here are key reasons why:

DeepLI is based on shared library modules within SigSRF software (Github page) ◳, including packet media, streaming, voice codecs, algorithm, diagnostic, inference, and others. SigSRF provides the high capacity / high reliability foundation for DeepLI. SigSRF software functionality includes:

Demo versions of the mediaMin and mediaTest reference applications run on x86 Linux servers. Customized, application-specific trial / eval versions are also available. Online demos include codecs for EVS, AMR-NB, AMR-WB, and G711. Customized trial / eval versions can include additional codecs. For more information on the EVS codec, see the HPC EVS Codec product page ◳.

1 "Tier 1" means carriers approximately the size of T-Mobile (around 45B annual), and for LEAs means FBI level national agencies
2 For example, each session with two (2) EVS wideband streams and one (1) AMR-NB stream on an HP DL380 running Ubuntu Linux
3 Depending on business case discussions under NDA

Product Info

DeepLI with VoLTE Codecs     Stream Merging Option     Speech Recognition Option

Signalogic Part P/Ns DSSIG-DEEPLI-VOLTE, DSSIG-DEEPLI-STREAM, DSSIG-DEEPLI_ASR
System
Manufacturer
Signalogic
Signalogic Logo
Description DeepLI Lawful Interception Software
Product Categories HPC (High Performance Computing), Media Resource Functions, Algorithms
Product Status Deployed

Default tab content (this text) shown when (i) no tabs are automatically selected, or (ii) if rel value for the tab ="#default".

Availability
Stock: 0
On Order: 0
Delivery: Electronic (secure download)
Pricing (USD)
Qty 1: Request Quote
MOQ: 1
                      

* Required fields
coCPU™ cores are optional for extreme
SWaP perfomance applications; discussion
of application requirements is required
Promotions
Current Promotions: None

Product Description - DeepLI Features

Site Models

On-Premise, Co-Located, SaaS (cloud LI)

Operating Modes

Telecom, Analytics

Applications

mediaMin: ready-to-use LEA application, with output options including UDP/RTP, wav file, and pcap
 
mediaTest: test and measurement application for codecs, audio quality, stress tests, custom packet and jitter buffer settings, and more
 
All applications are reference applications, including best practice techniques and methods, full C/C++ source code and header files, Makefiles, and detailed, extensive notes and comments
 
All applications provide a well documented command line interface, including numerous quick start and functional test examples. See section 2, Command Line Usage, and section 6, Functional Testing, in SigSRF documentation ◳. See also "APIs" in this table

APIs

Two levels of API are available: (i) fine-grained control at the packet/media thread level, and (ii) simplified, minimal interface based on session setup and packet queue push/pull. The mediaMin application is based on the minimal API. Section 3.1, Minimum API Applications, in SigSRF documentation ◳ contains a source code example showing a packet push/pull loop implemented in 10 lines of C code

I/O

I/O includes UDP/RTP, pcap, and waveform file. IPv4 and IPv6 supported. wav, .au, compressed bitstream, and other file formats supported

Capacity

50 sessions per core 1

Stream Management

Stream groups, real-time stream merging, user-defined signal processing. Stream merging output options include real-time UDP packet flow, unified mono wav file and pcap, and per stream pcap and either mono or N-channel wav file

Session Management

Static and dynamic session creation from (i) session configuration files, (ii) SDP info, (iii) IRI info, or some combination. Dynamic session creation includes an RTP audo-detect option. Live session control and modification

Codecs

EVS, AMR-NB, AMR-WB, AMR-WB+, G711, G729, G726

Jitter Buffer

Advanced options include dynamic re-ordering depth, packet loss mitigation, burst/gap compensation, SID repair, dynamic stream creation (RFC8108), on-demand flush, RFC7198 (temporal), live stats. Inter-stream packet rate mismatch and fluctuation compensated up to 20%

Multithreading

Multistream, multisession, multichannel, fully re-entrant, XDAIS compliant. See also "Capacity" in this table

DTX, SID, CNG

DTX can be applied and controlled on per session basis, or automated depending on codec type. VAD available for older codecs without inherent DTX support

PLC 2

Includes (i) codec decoder output and (ii) stream merging audio output

Voice/Packet Handling

DTMF, echo cancellation, sampling rate conversion, variable ptime, tone generation, and other audio and RTP processing

Stress and Functional Test

Documentation includes dozens of functional and stress test command lines and reference pcaps, along with test validation information

Logging

Event and packet logging. Packet logging includes SSRC group collation, analysis of dropped, missing, and duplilcated packets

Energy Saver

Packet/media thread inactivity detection and throttle down, with user-specified settings

1 Xeon E5-2660 v0 @2.2 GHz, two (2) EVS wideband streams and one (1) AMR-NB stream per session, transcoded to G711. See section 5.0, High Capacity Operation, in SigSRF Documentation ◳ for more information
2 Packet Loss Concealment

 

Site Models

Site models supported by DeepLI include On-Premise, Co-Located, and SaaS (cloud LI). The diagrams below show platform architecture and data flow for these models.

DeepLI™ Lawful Interception on-premise site model platform architecture and data flow diagram DeepLI™ Lawful Interception co-located site model platform architecture and data flow diagram DeepLI™ Lawful Interception SaaS site model platform architecture and data flow diagram
DeepLI™ Lawful Interception on-premise site model
platform architecture and data flow diagram

DeepLI™ Lawful Interception co-located site model
platform architecture and data flow diagram

DeepLI™ Lawful Interception SaaS site model
platform architecture and data flow diagram

Notes about the above diagams:
  1. SaaS models are flexible, depending on data privacy, session capacity, and other application-specific requirements
  2. High capacity figures quoted here and in SigSRF documentation ◳ require private servers, typically deployed in an On-Premise model

 

Telecom Mode

DeepLI telecom mode supports direct handling of bidirectional IP/UDP/RTP traffic. This mode is sometimes also referred to as "clocked" mode, as a wall clock reference is required for correct jitter buffer operation. Examples of telecom mode applications include network midpoints such as SBC (Session Border Controller) and media gateway, and endpoints such as handsets and softphones. Typically telecom applications have hard requirements for real-time performance and latency. A telecom mode data flow diagram is shown below.

DeepLI™ Lawful Interception telecom mode data flow diagram
DeepLI™ Lawful Interception telecom mode flow diagram

Analytics Mode

DeepLI™ analytics mode supports indirect handling of IP/UDP/RTP traffic, where traffic is encapsulated or "one step removed", having been captured, copied, or relayed from direct traffic for additional processing. This mode is sometimes also referred to as data driven or "clockless" mode, the latter description referring to jitter buffer packet processing either wholly or partially without a wall clock reference. In general, analytics mode applications operate after real-time traffic has already occurred, and process uni-directional traffic. Depending on the application it may be incorrect to say "non-real-time" as it may be necessary to reproduce or emulate original real-time behavior. It may also be incorrect to say "uni-directional" as transcoding may be required, for instance to local endpoint outputs. In addition to Lawful Interception, examples of analytics mode applications include web IT data analytics such as speaker identification and automatic speech recognition (ASR). An analytics mode data flow diagram is shown below.

DeepLI™ Lawful Interception analytics mode data flow diagram
DeepLI™ Lawful Interception analytics mode flow diagram

 

High Capacity

See section 5.0, High Capacity Operation, in SigSRF Documentation ◳ for more information.

 

Application and Diagnostic Table

DeepLI™ application and diagnostic functionality is shown in the table below. General functional areas are shown at left, then further subdivided. Diagnostic functionality includes test and measurement capabilities provided by the mediaTest application. As noted above, both mediaMin and mediaTest are reference applications based on SigSRF shared library modules (SigSRF Github page ◳ ).

 

Functionality

Application

Diagnostic

I/O

UDP/RTP, IPv4 and/or IPv6

mM

mM, mT

pcap

mM

mM, mT

Waveform files, .wav, .au, .tim formats

mM

mM, mT

USB audio

 

mT

Compressed bitstream data files, .cod format (header full and compact header payload format modes supported), .amr and .awb formats

 

mT

Intercept
Management

Web interface providing intercept organization and configuration, control of mediaMin instances, and session creation definitions and stream group assignments

 

 

Session Creation

Static creation from session configuration files

mM

mM, mT

Dynamic creation from SDP info, stream RTP auto-detect

mM

mM

Dynamic creation from IRI info

mM

mM

Stream
Management

Per stream processing, see "Packet Processing and Transcoding" table entry below. Stream groups, stream merging. Merging includes real-time audio and UDP output, and pcap and wav file output (both mono and N-channel wav file)

mM

mM

Stream burst/gap compensation and rate misalignment correction

mM

mM

Packet Processing and Transcoding

Jitter buffer re-ordering depth, DTX, SID, CNG, packet loss mitigation, SID repair, dynamic stream creation (RFC8108), on-demand flush, RFC7198 (temporal), run-time stats

mM

mM, mT

Transcoding

mM

mM, mT

Variable ptime (transrating)

mM

mM, mT

DTMF event handling, tone detection and generation

mM

mM, mT

Sampling rate conversion

mM

mM, mT

AI and Deep Learning

Speech recognition, language detection, speaker identification, and diarization

mM

mM, mT

Test, Validation, Benchmarking, Interactive Debug

Stress test, single app thread, multiple packet/media threads, multiple sessions.  Event log validation

 

mM, mT

Stress test, multiple app threads, multiple packet/media threads, multiple sessions.  Event log validation

 

mT

Functional test and validation of audio quality and packet log

 

mM, mT

Low level API test, debug, and custom configuration for SigSRF shared library modules, including pktlib, voplib, streamlib, inferlib, alglib, diaglib, and hwlib

 

mT

Performance benchmarking for encoder + decoder, encoder-only, and decoder-only.  Command line entry for encoder bitrate, channel aware, DTX (VAD)

 

mT

Interactive commands, including debug output, pause/resume, stats, and profiling.  Stats include thread, session, stream group, channel, and energy saver.  Profiling includes CPU usage for packet/media thread, stream group, and codec processing

 

mT

Packet tracing

 

mT

PLC

Codec

mM

mM, mT

Stream group

mM

mM

Logging

Event

mM

 

Packet

mM

 

Application Specific Customization

Customization of API usage, diagnostics, logging, debug output, and stats output

mM

mM, MT

Energy Saver

Packet/media thread inactivity detection and throttle down

mM

mM

 

    Legend

mM = mediaMin

mT = mediaTest

Application Level

Partial demo available

Under development

 

    Notes

 

API Interface

DeepLI™ provides two levels of API: The mediaMin application is based on the minimal API. API header files are availble for inspection in the online SDK demos or upon request. Below is a mediaMin source code excerpt showing a packet push/pull loop implemented in 10 lines of C code.

 

/*** Packet push / pull loop excerpt from mediaMin source ***/

 

   do {

 

      if (fPause) continue;  /* skip push/pull loop if pause is in effect */

 

      if (Mode & USE_PACKET_ARRIVAL_TIMES) PushPackets(pkt_in_buf, hSessions, session_data, thread_info[thread_index].nSessionsCreated, thread_index);  /* in this mode, PushPackets() will push a packet for each session only if elapsed time exceeds the packet's arrival time */

 

   /* packet input interval elapsed ?  In FTRT mode (-r0 cmd line entry) frameInterval is zero, so we push packets as fast as possible.  For cmd line entry -rN we push packets at N msec intervals */

      gettimeofday(&tv, NULL);  cur_time = tv.tv_sec * 1000000L + tv.tv_usec; if (!base_time) base_time = cur_time;

      if (cur_time - base_time < interval_count*frameInterval[0]*1000) continue;  interval_count++;  /* if interval has elapsed, push and pull packets, increment interval.  Note that comparison is in usec */

   /* read packets from input pcap files, push to packet/media thread */

      if (!(Mode & USE_PACKET_ARRIVAL_TIMES)) PushPackets(pkt_in_buf, hSessions, session_data, thread_info[thread_index].nSessionsCreated, thread_index);

      #ifdef SINGLE_STEP

      if (isMasterThread) { printf("After push\n"); fPause = 1; continue; }

      #endif

   /* pull available packets from packet/media thread, write to pcap files */

      PullPackets(pkt_out_buf, hSessions, DS_PULLPACKETS_JITTER_BUFFER, sizeof(pkt_out_buf), thread_index);

      PullPackets(pkt_out_buf, hSessions, DS_PULLPACKETS_TRANSCODED, sizeof(pkt_out_buf), thread_index);

      PullPackets(pkt_out_buf, hSessions, DS_PULLPACKETS_STREAM_GROUP, sizeof(pkt_out_buf), thread_index);

   /* check for end of input, end of transcoded packets send by the packet/media thread, flush sessions if needed */

      FlushCheck(hSessions, cur_time, &queue_check_time, thread_index);

   /* update screen counters */

      UpdateCounters(thread_index);

   /* update stress test conditions, if enabled.  Note that repeating tests exit the push/pull loop here, after each thread detects end of input and flushes sessions */

      if (!StressTestActions(hSessions, uFlags_session, thread_index)) break;

   } while (!ProcessKeys(hSessions, thread_index));  /* process interactive keyboard commands, continue to run until 'q' key is entered */

 

 

Note that packet output queues are separated into jitter buffer, transcoded, and stream group. For more information on the above source code excerpt, and packet push/pull queues, see SigSRF documentation ◳ section 3.1, Minimum API Applications.

 

mediaMin and mediaTest Demos

The SigSRF SDK download page (Github) ◳ contains free, limited demo versions of the mediaMin and mediaTest reference applications along with several mediaMin and mediaTest command line examples ◳. In addition to Lawful Interception functionality, the demos provide test, measurement, diagnostic, and event / packet logging examples. Demo limitations include number of concurrent sessions, number of packets processed, and functionality. To remove or relax functionality limits, customized trial versions are available upon request and subsequent to business case discussion. All C/C++ source code for both applications is published.

Related Applications

Other available software related to DeepLI:

How to Get a Quote

Enter the fields shown above, including:

Then click on "Get Quote / Info" to receive pricing via e-mail.

Related Items

1) Codec Wav Samples, before and after encode/decode ◳

2) mediaMin and mediaTest demo download (Github page) ◳

mediaTest high capacity media session transcoding screen capture
mediaTest high capacity media session transcoding screen capture, showing EVS codec performance benchmarking in diagnostic mode

3) Surveillance Video Suspect Detection and Tracking ◳

Surveillance video suspect detection
                           Vidilant suspect detection software screen capture of surveillance video analysis

4) ffmpeg Acceleration ◳

FFmpeg Accelerator / HPC card for servers.  FFmpeg streaming command line interface
                           FFmpeg screen capture with c66x acceleration enabled


Tech Support

Signalogic's engineering staff designs, develops, maintains, operates, and tests software and hardware in the company's in-house lab, using servers from HP, Dell, Supermicro, Artesyn, Advantech, and others, and Linux installations including CentOS, Ubuntu, Red Hat, Wind River, Gentoo, and more. Customers can submit technical questions via e-mail, phone, or Skype chat.

Signalogic engineers are experts in server and embedded system development. Contract development is available, for example product based quotations with NRE modifications to customer specs. Signalogic is a member of third-party programs for HP, Dell, Intel, and Texas Instruments. A high level of expert, sustained, and detailed tech support is a distinct advantage of working with Signalogic.