Voice and Media Middleware

Voice and Video Communications

voice-media middleware

Arcturus Voice and Media Middleware transforms embedded Linux devices into powerful voice and video communication systems.

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

VoIP services offer a specialized set of features required by intercom devices including enhancements for audio intelligibility, wide-band encoding, secure communications and recorded announcements. SIP signalling is constantly tested to maintain interoperability with common PBX platforms and includes P2P operation, self-test modes, call quality detection, reporting and heuristics.

Multicast Public Address (PA) paging services are interoperable with PA/intercom implementations available in well-established PBX systems and stand-alone paging/bell software. In addition, a robust protocol-based solution is available for mass-notification applications that specifically require hardened communications.

Video surveillance services support camera integration via common hardware interfaces, such as MIPI-CSI. Live video encoding supports options for mJPEG, H.26x or VPx with delivery using web frameworks including WebRTC or RTSP and VoIP. For platforms without native camera support, USB (UVC) camera integration makes it possible to stream video up to 1080p/30fps on platforms traditionally limited to voice.

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

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

Voice and Video Services

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 integration (configuration, control, logging etc.)

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 integration (configuration, control, logging etc.)

Video Service

The video service supports a full video processing pipeline including camera image acquisition, live streaming, storage and playback. SIP/VoIP support is available for live video calling. The video service consists of:

  • Camera video acquisition using USB or MIPI
  • Video encoding using H.264 or mJPEG
  • Streaming and distribution using HTTP, RTSP, WebRTC or VoIP protocols
  • System integration (configuration, control, logging etc.)


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 media processing and networking layers. The software is generally configured with a set of features representative of either an intercom, ATA or handset-class product, depending on requirement. Additional middleware products are available to support management tasks and secure system integration.

    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 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 instant messaging
  • Early and late media support
    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 Encoding/Decoding and Intelligibility Enhancements
  • 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)
Audio Tools (some features are platform dependent)
  • File-based audio announcements/notifications
  • Audio announcements/notification to RTP, analog or both
  • Interactive Voice Response (IVR)
  • Volume 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
  • Compatible with standalone bell and PA paging software such as Bell Commander®
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
Live Video Streaming
  • Live video for communications / surveillance
  • WebRTC support for browser compatibility without plugins or Flash®
  • SIP/VoIP support for video calling and call routing
  • Simple HTTP service for easy integration (mJPEG only)
  • H.264, VP8 or mJPEG encoding up to 1080, 30fps
  • Server frame rate scaling (based on number of connections)
Video Playback
  • HTTP video server with RTSP streaming
  • HTTP video player with RTSP scrubbing controls
  • Switchable between live video, playback video and still images
  • Configurable video server ports and access control
  • H.264, VP8 or mJPEG encoding up to 1080, 30fps
  • Server frame rate scaling (based on number of connections)
Image Acquisition
  • USB (UVC) camera support including accelerated/encoding cameras
  • MIPI-CSI camera for direct integration
  • IP camera support for network image acquisition
  • Basic camera controls including stream selection, encoding format, rate, resolution (camera and system dependent)


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® Cortex®-A53 (64-bit, Arm v8), Arm Cortex-A9 (32-bit, Arm v7), Power®, Blackfin, MIPS, Legacy 68K/ColdFire, SH, Arm 9, Arm 7
Hardware Audio Codecs and Analog Interfaces
  • SGTL5000, CX2070x, SSM2603, LM4931, TLV320, Si32x (SLIC/FXS), Si305x (SLIC/FXO)
Hardware Camera Interfaces
Operating System Support
  • Linux 2.4.x, 2.6.x, 3.x, 4.x
  • uClinux 2.4.x, 2.6.x, 3.x
  • glibc, uclibc
  • GCC