Communication protocols

Communication Protocols

Supported Standards to Access LumenVox Services

gRPC Interface

gRPC is a cross-platform open-source high performance Remote Procedure Call (RPC) framework, initially created by Google.  This is the preferred and recommended protocol for communication with LumenVox software.   gRPC can run in any environment and can efficiently connect services in and across data centers with support for load balancing, tracing, health checking and authentication. It is optimized for scalability and is cloud and microservices native.  All major programing languages to access our API via gRPC. 

Characteristics are:

  • Self-describing interface, includes request and response options
  • Allows single or bidirectional connectivity (callbacks and streaming)
  • Multiplexed Binary Messages to optimized network traffic
  • Uses “Proto buffers” described by .proto files
  • Complete language independence
  • Cloud-native, easily secured
  • Designed to scale massively
  • Extremely fast & efficient 

gRPC: Cloud-native, high-performance connectivity

MRCP Interface

Media Resource Control Protocol is a communication protocol between applications (voice IVR platforms) and the ASR and TTS resources serving them (taking in the audio or outputting the text). Primarily used by voice application platforms, call centers, call recording providers such as NICE, Verint, telephony trunks, and network switches, using the W3C standards.

A subset of the standard is specific for speech applications. MRCP uses 'methods' to control speech resources: to start or stop a recognizer, set parameters, load grammars, or control a speech synthesizer (for TTS), using web technologies to deliver information and commands.

  • MRCPv1 used RTSP (real time streaming protocol) where session management and the MRCP content are sent together. 
  • MRCPv2 uses SIP (session initiation protocol) where a session is established first, then MRCP content is sent separately, allowing both ASR and TTS in one session.

Use of MRCPv2 is prevailing in customer service platforms. We support all major voice platforms and IVRs using MRCP.  Note that MRCP gets special treatment in our technology stack, because the MRPC services need to be run on their own virtual machine using Docker, as MRCP uses UDP and TCP ports which are currently not supported by Kubernetes. To support this we employ a media server outside the Kubernetes cluster for communicating with MRCP clients.  The client app communicates via MRCP to our media server, the MRCP API, which in turn uses gRPC to communicate with the LumenVox API.  

This does limit the ability for MRCP to scale well. However, this approach allows massive connectivity: many MRCP API systems can connect to a single LumenVox Kubernetes Cluster. 


REST Interface

RESTful Interface is a widely used interface for Internet connectivity. A subset of LumenVox clients use REST APIs with HTTP or Web Sockets for their communications protocols.  REST / HTTP is a traditional model for communications with backend servers. It relies on a client (web application) initiating a request, such as obtaining data from a database, and is stateless. This model does not work well for applications with real time data access requirements, such as conversational or voice and speech applications.  

The REST interface is used for the Voice Biometric APIs, Voice biometric reporting APIs, and management APIs.  API information can be obtained at https://developer.lumenvox.com/, access the relevant version. 

The REST interface characteristics are:

  • Easy to implement and test, simplistic interface mechanism
  • Operates on existing browser-style connections (no fancy tools needed)
  • Universally supported. Can use command line (curl) tools
  • Limited streaming support
  • Limited callback handling
  • Doesn’t scale well


 

Visit the LumenVox Knowledgebase for technical information on supported communication protocols.  - www.developer.lumenvox.com



Was this article helpful?
Copyright (C) 2001-2024, Ai Software, LLC d/b/a LumenVox