Advertisement

Quick Links

SigMRF Users Guide
Copyright     2016-2017 Signalogic, Inc.
Revision A2, Apr 2017
Signalogic, Inc.
9617 Wendell @ Skillman
Dallas, TX 75243
Tel: 214-349-5551
Fax: 972-598-0806
http://www.signalogic.com
tech_support@signalogic.com

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the SigMRF and is the answer not in the manual?

Questions and answers

Summary of Contents for Signalogic SigMRF

  • Page 1 SigMRF Users Guide Copyright     2016-2017 Signalogic, Inc. Revision A2, Apr 2017 Signalogic, Inc. 9617 Wendell @ Skillman Dallas, TX 75243 Tel: 214-349-5551 Fax: 972-598-0806 http://www.signalogic.com tech_support@signalogic.com...
  • Page 2: Table Of Contents

    4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 TABLE OF CONTENTS Overview SigMRF Architecture Software Architecture ....................2 2.1.1 Libraries........................3 2.1.2 Background Process....................3 Platform Architecture ....................4 2.2.1 Packet I/O....................... 4 2.2.2 DPDK ........................4 2.2.3 coCPU™...
  • Page 3 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 Revision History Created Rev A1 Nov 2016 SigMRF Users Guide Modified Rev A2 Apr 2017 Add pseudocode example for packet and frame processing...
  • Page 4: Overview

    • Data analytics and data streaming applications that require voice and video interfaces • Content delivery SigMRF is designed to scale from low capacity, relatively simple systems to high capacity, complex systems. When high capacity is required, SigMRF supports coCPU™ hardware that...
  • Page 5: Sigmrf Architecture

    • Test and demo applications (for example, mediaTest) • Optional coCPU™ hardware The SigMRF architecture is designed for both flexibility and high performance, supporting multiple data flow and packet I/O options, DPDK, and entry points for user defined applications. User apps can operate and make API calls at several levels, including frame, packet, and session.
  • Page 6: Libraries

    Codec libraries are accessed by user applications via Voplib; currently direct access to codec libraries is not supported. SigMRF also requires the DirectCore set of libraries. DirectCore is a separate product, used by a number of Signalogic application areas, including telecom, image analytics, AI (neural networks), and more.
  • Page 7: Platform Architecture

    • Media task, which runs at a lower rate (typically every 5 msec) and handles packet and payload processing, including transcoding, ptime and transrating, DTMF, and more Typically, the SigMRF background process comes into play when there is a need for higher performance or user application code must be simplified. Although not all situations require the SigMRF background process to be running, it cannot be separated from SigMRF from a product ordering or support standpoint.
  • Page 8: Cocpu™ Option

    3D representation, DirectCore forms a “dividing layer” between x86 CPUs in front of the layer and coCPUs behind the layer. If coCPU hardware is in use, the SigMRF background process, as well as packet and media libraries, exist on both sides of this layer.
  • Page 9: Sigmrf Users Guide, Rev A2 Copyright  Signalogic, Inc

    4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 Figure 2-1, coCPU full-length PCIe card installed in a Supermicro 1U server. Note the dual slot PCIe risers on either side of the motherboard Figure 2-1 above shows a coCPU full-length PCIe card installed in a low-cost Supermicro 1U server with dual slot PCIe risers on either side of the motherboard.
  • Page 10: Sigmrf Users Guide, Rev A2 Copyright  Signalogic, Inc

    4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 Figure 2-2, coCPU full-length PCIe cards installed in HP DL380 and Dell R720 2U servers Figure 2-3 below shows a half-length PCIe card with 32 coCPU cores, 8 GB DDR3 mem, and GbE interface installed in a mini-ITX server on a standard PCIe riser.
  • Page 11 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 Figure 2-3, coCPU half-length PCIe card installed in a mini-ITX server with enclosure dimensions approx 8” x 9” x 3”. Note 100 W power supply at left side of the enclosure...
  • Page 12: Sigmrf Functionality

    Figure 3-1 below shows packet and frame data flow in cases where user applications are handling packet I/O and timing, packet parsing and formatting, and not using the SigMRF background process. 9 / 39...
  • Page 13 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 Figure 3-1, User application packet and frame data flow Below is a pseudocode representation of the processing performed by a user application corresponding to Figure 3-1 above. /* setup code */ #if NONBLOCKING fcntl(recv_sock_fd, F_SETFL, O_NONBLOCK);...
  • Page 14 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 len = recvfrom(rxpkt) #if NONBLOCKING if (len <= 0) continue; #endif [ parse packet and get length from packet headers ] DSBufferPackets(rxpkt) /* add packet to jitter buffer */...
  • Page 15 Figure 3-2 below shows packet and frame data flow handled by the DSSessionTranscode() API, in cases where user applications are handling packet I/O and timing, but not packet parsing and formatting, and not using the SigMRF background process. Note that DSSessionTranscode() can also perform packet I/O if a network interface was specified by the session handle in use (session handles are created by the DSSessionCreate() API).
  • Page 16: Frame Flow

    Copyright  Signalogic, Inc. 2016-2017 Figure 3-3, Background process transcoding packet and frame data flow SigMRF background process timing (i.e. rate at which packet and media tasks run) can be configured by Pktlib APIs. The background process runs independently of any user applications.
  • Page 17: Codecs

    “raw audio” (typically in 16-bit PCM format) for frames being encoded. 3.3 Codecs SigMRF software includes several voice and video codecs, listed in the following sections. 3.3.1 Voice Codecs SigMRF software includes a number of voice codecs, listed in Table 3-1 below.
  • Page 18: Video Codecs

    CPU support is updated continuously; current status available upon request. The links provided contain information about capacity, codec version, CPU and memory usage, and more. 3.3.2 Video Codecs SigMRF software includes a number of video codecs, listed in Table 3-2 below. 15 / 39...
  • Page 19: Mediatest Demo, Test, And Measurement Program

    4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 Codec CPU Support More Information / Comments H.264 c66x http://processors.wiki.ti.com/index.php/NFV_Transcoding http://www.signalogic.com/index.pl?page=dpdk_media_solution Network I/O streaming input and YUV file input supported H.265 c66x c66x beta version available; more information available upon request...
  • Page 20 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 For codec and session testing, concurrent mediaTest instances in multiple user windows and/or multiple VMs are supported. Example mediaTest Command Lines Example mediaTest command lines are shown below. x86 Motherboard Network I/O and Packet Processing ./mediaTest -cx86 -M0 -Csession_config/frame_test_script_config...
  • Page 21 Specifies x86 processing with measurement and logging options Table 3-4, mediaTest command line CPU options 4) The following lib folder configuration commands may be needed for console window (shell) operation, depending on SigMRF software installation parameters: ldconfig /install_path/Signalogic/SIG_LIBS/Voice/EVS_fixed-point/lib ldconfig /install_path/Signalogic/SIG_LIBS/Voice/EVS_floating-point/lib Example Session Config Files Example session config file entries are shown below.
  • Page 22 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 term1.rtp_payload_type=0 term1.dtmf_type=NONE term1.dtmf_payload_type=NONE term2.local_ip=10.0.1.211 term2.local_port=10242 term2.remote_ip=10.0.1.71 term2.remote_port=10242 term2.media_type=voice term2.codec_type=G711_ALAW term2.bitrate=64000 term2.ptime=20 term2.rtp_payload_type=8 term2.dtmf_type=NONE term2.dtmf_payload_type=NONE [ end_of_session_data ] # Session 2 [ start_of_session_data ] term1.local_ip=10.0.1.211 term1.local_port=10244 term1.remote_ip=10.0.1.71 term1.remote_port=10244 term1.media_type=voice term1.codec_type=G711_ULAW term1.bitrate=64000...
  • Page 23 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 # Session 4 [ start_of_session_data ] term1.local_ip=10.0.1.211 term1.local_port=10244 term1.remote_ip=10.0.1.71 term1.remote_port=10244 term1.media_type=voice term1.codec_type=EVS term1.bitrate=13200 term1.ptime=20 term1.rtp_payload_type=127 term1.dtmf_type=NONE term1.dtmf_payload_type=NONE term1.evs_sample_rate=16000 term1.evs_header_full=0 term2.local_ip=10.0.1.211 term2.local_port=10246 term2.remote_ip=10.0.1.71 term2.remote_port=10246 term2.media_type=voice term2.codec_type=G711_ULAW term2.bitrate=64000 term2.ptime=20 term2.rtp_payload_type=0 term2.dtmf_type=NONE term2.dtmf_payload_type=NONE...
  • Page 24: Apis

    4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 mediaTest More Information More information about mediaTest when used with coCPU hardware is located on the Transcoding Test and Demo TI Wiki. 3.5 APIs Information for Pktlib, Voplib, and DirectCore APIs is given in sections 3.5.x below. In the case of Pktlib and Voplib APIs, header files are included that show: •...
  • Page 25 • a uFlags value, a combination of operating modes, data flow paths, and session attributes Pktlib APIs are implicitly called by the SigMRF background process, including both packet and media tasks. In this case, the background tasks handle all packet I/O and timing.
  • Page 26 -0 -- none, DSSessionTranscode() or other APIs are called by application code based on a user-defined timing. This should be used with frame mode [default] -N -- internal SigMRF timing is used and packet and codec related APIs are explicitly called every N msec The following attributes may be specified:...
  • Page 27 , , , uint8_t* * * * pkts); /* Jitter buffer APIs: -DSBufferPackets() - add one or more packets to the SigMRF internal jitter buffer. Notes: -should not be used -- or used very carefully -- if DSRecvPackets() is called with...
  • Page 28: Voplib

    4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 3.5.2 Voplib Voplib (Voice and Video over packet library) APIs may be called by user applications to: • decode frames of compressed bitstream data for a particular codec (typically formed by extraction from RTP packet payloads), and return frames of raw audio data •...
  • Page 29: Directcore

    3.5.3 DirectCore™ DirectCore is a separate software product that provides an underlying set of libraries needed by SigMRF software as well as a number of other Signalogic software products, including video streaming, image analytics, AI (neural networks). DirectCore provides functionality in two (2) distinct cases: •...
  • Page 30: Session Data And Session Command Structs

    2) Session, termination, and voice / video attributes struct definitions Copyright (C) Signalogic, Inc, 2008-2012 Created for c64x voice platforms Copyright (C) Mavenir Systems and Signalogic, Inc, 2013-2015 Support for c66x coCPU card PCIe and ATCA blade SRIO interfaces 27 / 39...
  • Page 31 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 Copyright (C) Signalogic, Inc, 2016-2017 Add APIs to (i) encapsulate c66x PCIe and SRIO interfaces, and (ii) support x86-only or combined x86 and c66x server usage. APIs are consistent between all use cases...
  • Page 32 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 /* default value 0, no ec */ enum ec_type { { { { DS_EC_NONE, , , , /* NONE */ DS_EC_TI_LEC, , , , /* Telogy line ec */...
  • Page 33 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 #define DS_EVS_PACKET_FORMAT_SHIFT #define DS_EVS_RTCP_APP_ENABLE_SHIFT #define DS_EVS_MAX_REDUNDANCY_SHIFT #define DS_EVS_CMR_SHIFT #define DS_EVS_CH_SEND_SHIFT #define DS_EVS_CH_RECV_SHIFT #define DS_EVS_CH_AW_RECV_SHIFT enum evs_packet_format { { { { DS_EVS_COMPACT, , , , DS_EVS_HEADER_FULL enum evs_rtcp_app_enable { { { {...
  • Page 34 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 DS_EVS_CH_AW_RECV = = = = 0x00780000 /* Specifies how channel aware mode is configured or used in the receive direction {-1, 0, 2, 3, 5, 7} */ /* 8 = "-1" partial redundancy disabled in receive...
  • Page 35 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 #endif } } } } evrc; ; ; ; struct { { { { uint32_t codec_flags; ; ; ; /* See enum opus_codec_flags */ #ifdef __BIG_ENDIAN__ uint32_t sprop_max_capture_rate : : : : 16; ; ; ;...
  • Page 36 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 uint32_t max_delay : : : : 8; ; ; ; /* Maximum allowed delay, ultimately limited based on Rx buffer size (total size of all packets) or heap memory (jitter buffer entries) */ uint32_t target_delay : : : : 8;...
  • Page 37 Session commands and APIs for c66x, x86, or combined platforms Copyright (C) Signalogic, Inc, 2008-2012 Created for c64x voice platforms Copyright (C) Mavenir Systems and Signalogic, Inc, 2013-2015 Support c66x coCPU card PCIe or ATCA blade SRIO interface Copyright (C) Signalogic, Inc, 2016-2017 Add APIs to (i) encapsulate c66x PCIe and SRIO interfaces, and (ii) support x86-only or combined x86 and c66x server usage.
  • Page 38 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 enum cmd_type { { { { DS_CMD_CONFIGURATION, , , , /* CP -> C66x */ DS_CMD_HEARTBEAT, , , , /* C66x -> CP */ DS_CMD_OVERLOAD_NOTIFICATION, , , , /* C66x -> CP */ DS_CMD_ALARM_INDICATION, , , , /* C66x ->...
  • Page 39 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 uint32_t type : : : : 16; ; ; ; #else uint32_t type : : : : 16; ; ; ; uint32_t len : : : : 16; ; ; ;...
  • Page 40 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 struct cmd_core_stats_rsp { { { { #ifdef __BIG_ENDIAN__ uint32_t cpu_usage_avg : : : : 16; ; ; ; uint32_t cpu_usage_peak : : : : 16; ; ; ; /* usages are in percent */...
  • Page 41 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 uint32_t cpu_usage_avg : : : : 16; ; ; ; uint32_t reserved : : : : 16; ; ; ; #endif struct cmd_dtmf_tone_generation { { { { uint32_t session_id; ; ; ;...
  • Page 42 4/17/17 SigMRF Users Guide, Rev A2 Copyright  Signalogic, Inc. 2016-2017 uint32_t cause_code; ; ; ; struct cmd_go_active { { { { /* ha_index = X = (1..N) (Become Active X) */ uint32_t ha_index; ; ; ; struct cmd_go_active_ack { { { { uint32_t cause_code;...

Table of Contents