Voice and Media Middleware

Embedded Linux Voice and Video Services

voice-media middleware

Arcturus Voice and Media Middleware is a communication and surveillance solution for embedded Linux products.

At the core of the middleware is a suite of services to support standards-based VoIP, multicast PA paging and video surveillance. The services can operate concurrently (multiservice) and multiple instances can bind to dedicated hardware resources (multichannel).

The voice service offers a range of features commonly found in VoIP devices and includes support for audio intelligibility enhancements, wide-band encoding and secure communications. The system includes self-test modes, call quality detection, reporting and heuristics. A filesystem is provided to store recordings for use as automated announcements. Signalling is constantly tested to maintain interoperability with common PBX platforms and has achieved interoperability certification.

The PA function makes use of common multicast media standards available in well established PBX systems. In addition, a protocol-based solution is available for stand-alone applications, offering up to 100 unique broadcast channels (paging groups), last-in wins arbitration and protection against stuck transmitters or transient network conditions.

Surveillance based video support is provided through camera integration using USB or MIPI hardware interfaces. An HTTP video service provides access to the live camera feed and supports H.264 or mJPEG encoding. By offering USB camera integration, it is possible to support video up to 1080p at 30fps using CPUs without hardware accelerated video encoding, extending surveillance video support to platforms traditionally limited to voice-only operation.

Services are available to brand, customize or support any middleware component and Arcturus offers simple engagement packages to help get development moving quickly, including:

  • Demo software for evaluation, bundled with most Linux-based development kits
  • Middleware licenses, bundled with OEM modules
  • Specialized Application Solution Kits for compile-time integration with direct support from Arcturus
  • Turn-key System Solutions engagements for equipment manufacturers

White Paper Voice Middleware Demo Video Voice and Media Middleware Factsheet Contact Us

Overview

Voice and Media Diagram

VoIP Service

The VoIP service supports two-way, full-duplex audio communication using standard SIP signalling and RTP media. Depending on the physical interface, the VoIP service is suitable for intercoms, handsets, adapters and Radio over IP (RoIP) back-haul equipment. The VoIP service consists of:

  • Signalling and media protocols
  • Calling features
  • Call handling
  • Audio encode and decode
  • File-based audio notifications
  • Audio intelligibility enhancements and audio tools
  • System logging

PA Service

The PA service supports simplex audio communication from one transmitter source to many receivers. It is suitable for audio mass notification, PA speakers and Push-To-Talk (PTT) applications. The PA service consists of:

  • Protocol controlled or protocol-less multicast audio distribution
  • Protocol controlled operation similar to PTT systems
  • Subscriber-type architecture
  • Narrow or wide-band audio encoding
  • File-based audio notifications
  • System logging

Video Service

The video service includes camera input and a web-based server for remote surveillance and recording. The video service consists of:

  • Camera video acquisition using USB or MIPI
  • Video encoding using H.264 or mJPEG
  • Video streaming using HTTP with access control
  • System logging

Features

The voice and media middleware is fully integrated with the Linux system including drivers, protocols and audio subsystem. Kernel-level performance optimizations are made to ensure consistent quality-of-service between audio and networking layers. Integration is also provided with Arcturus Management Middleware, making it possible to configure and maintain the system. The base platform is generally provided with a set of features and services representative of a intercom product:

    VoIP Service

    Modes of Operation

  • Push-To-call (PTC) (I/O integration)
  • Push-To-Talk (PTT) (I/O integration)
  • Click-To-Call (LCD integration)
  • ATA/POTS (FXS, FXO SLIC integration)
  • Peer-to-peer calling using SIP URI
  • Infrastructure calling using registrar/proxy

Signaling and Media Protocols

  • SIP, SDP, RTP, RTCP
  • SIP via UDP or TCP
  • VoIP Security (SIP-TLS, SIPS, sRTP)
  • STUN, TURN, ICE firewall traversal
  • DTMF detect and generation (analog, in-band, RFC2833 or INFO methods)
  • Standard SIP timers
  • SIP methods: INVITE, ACK, BYE, CANCEL, REGISTER, INFO, SUBSCRIBE, NOTIFY, OPTIONS, REFER, REPLACES in REFER, Reinvite Support.
  • SIP instant messaging
  • Early and late media support
  • Digit map

Calling Features (some features are platform dependent)

  • Digit map
  • Call origination and termination
  • Type-1/2 Caller-ID Support (CID)
  • CID name information
  • CID user provided privacy
  • CID time and date
  • Caller-ID block
  • Anonymous Call Rejection (ACR)
  • Message Waiting Indicator (MWI)
  • Call hold and retrieve (with held call ring back)
  • Call Waiting (CW)
  • Cancel Call Waiting (CCW)
  • Call transfer – unattended
  • Call transfer – attended (REFER)
  • Call transfer – attended (REPLACES)
  • Failed transfer ring back (NOTIFY)
  • Do Not Disturb (DND)
  • Auto Call-Back on busy (ACB)
  • Call Return
  • Local conference bridging (3WC)
  • Remote conferencing (meetME)
  • Phonebook
  • Speed dials
  • Auto-answer
  • Auto-hangup
  • Hotline (hook switch input)
  • Outgoing call blocking rules

Audio Processing, Intelligibility Enhancements and Tools (some features are platform dependent)

  • 10, 20 or 30mS ptimes
  • Standard narrow-band (8KHz) ITU voice codecs (G.711a, G.711u)
  • Standard wide-band (16KHz) ITU codecs (G.722)
  • Optional codecs (G.729A, iLBC, G.726-32, G721-RFC3551, AMR-NB, AMR-WB, OPUS)
  • Audio intelligibility enhancements (AEC, noise reduction, AGC, DRC)
  • Configurable codec preference order (VoIP)
  • Call progress tones (dial tone, trying, ringback, busy, howler, stutter) (VoIP)
  • Interactive Voice Response (IVR)
  • File-based audio notifications
  • Audio notification to RTP, analog or both
  • Volume output controls
  • Volume input controls
  • Peak audio level detection
  • Digital audio mixer and muxer
PA Paging Service – Generic (protocol-less)
  • Simplex receiver only
  • Up to 10 paging groups
  • Up to 10 priorities
  • Multicast RTP audio transport
  • File-based audio notifications
  • IGMP (Internet Group Management Protocol) support
  • Narrow-band G.711u (8KHz), 20mS audio decoding
  • User definable multicast RTP address per group
  • Compatible with Asterisk®, Freeswitch® PBX multicast intercom support
PA Paging Service – Arcturus (with control protocol)
  • Simplex transmitter or receiver with operation similar to PTT radio
  • Up to 100 paging groups
  • Subscribe-type architecture
  • Multicast control protocol
  • IGMP (Internet Group Management Protocol) support
  • Start, stop and keep alive protocol messages
  • Multicast RTP audio transport
  • Narrow-band G.711u (8KHz), 20mS audio encode/decode
  • Wide-band G.722 (16KHz), 20mS audio encode/decode
  • Last-in wins same-group arbitration (receiver)
  • Last-in wins different-group arbitration (receiver)
  • Auto-termination on connection loss (receiver)
  • Auto-session recovery on connection acquisition (receiver)
  • Stuck microphone protection (termination of transmitter)
  • Protocol options for definable alert tone, transmitter ID, priorities, media type, contact, security
  • Definable multicast command packet address
  • Configurable transmit and receive permissions per group
  • VoIP-to-multicast rebroadcaster mode for compatibility with SIP elements
  • Co-existence with other SIP elements
    Video Service
  • USB (UVC) and MIPI camera support
  • H.264 compression for reduced network bandwidth
  • mJPEG motion image for periodic storage of still iamges
  • Up to 1080p @ 30fps (camera and system dependent)
  • Camera mode selection H.264/mJPEG (camera and system dependent)
  • HTTP video server
  • Video service access control
  • Switchable between video and still images
  • Configurable video server port
  • Configurable camera encoding, resolution and frame rate settings
  • Server frame rate scaling (based on number of connections)

Platforms

The following architectures are supported. Middleware demos are provided with most embedded Linux development kits and can be bundled with OEM modules. Arcturus also provides a complete suite of services to support the middleware including; porting, customization, application development, product development, support and training.

Processors and Architectures
  • Arm®v8 Cortex®-A53 (64-bit), Arm Cortex-A9 (32-bit), Power®, Blackfin, 68K/ColdFire, SH, MIPS, Legacy Arm 9, Arm 7
Hardware Audio Codecs and Analog Interfaces
  • LM4930, LM4931, TLV320, Si321x (SLIC/FXS), Si305x (SLIC/FXO), SSM2603, SGTL5000, CX2070x
Hardware Camera Interfaces
  • MIPI CSI, USB UVC
Operating System Support
  • Linux 2.4.x, 2.6.x, 3.x
  • uClinux 2.4.x, 2.6.x, 3.x
  • glibc, uclibc
  • GCC