|
The components shown in Figure 1 interoperate along the control plane through a
collection of interfaces. Of particular interest to the media service
application developer are the interfaces between the application server and the
media server. These APIs can be divided into three categories: signaling,
connection control, and media control.
As was previously mentioned, signaling messages are used to establish and
manage the media session between the end-user terminal and the media server.
The primary signaling interfaces for next-generation applications are SIP for
IP and IMS and Signaling System 7 (SS7). Intel NetStructure® SS7 Boards provide
applications with basic and advanced signaling capabilities in both wireline
and wireless networks. For SIP signaling, applications can use either SIP
protocol stacks from third parties or Intel's own APIs. Intel NetStructure Host
Media Processing Software supports standard SIP protocols through the Global
Call API. This is discussed in more detail below.
Connection control APIs allow the application to control the routing and flow
of media along the data plane. There are numerous methods for controlling the
media data flow. For the IP-centric next-generation media server, the most
common method involves directing Real-Time Protocol (RTP) streams using SIP.
The Media Gateway Control Protocol (MGCP) [7], as defined by the Internet
Engineering Task Force (IETF), allows applications to control the routing and
flow of media through a gateway.
The category of interface most relevant to this discussion, media control,
covers a wide variety of media functions. It includes basic voice messaging
such as the ability to play announcements and record messages, as well as video
functions. Media control also covers the ability to accept control input from
the end user. This input may be in the form of in-band tones such as DTMF or
speech, as well as out-of-band messages such as those defined by RFC-2833 [8].
Intel supports a variety of APIs for media control. In the following paragraphs
we discuss a few notable ones.
Voice Extensible Markup Language (VoiceXML) [9] is a standard XML-based
language that enables voice/speech interactions with Web pages. VoiceXML is
defined by the World Wide Web Consortium (W3C). Application logic is expressed
in the form of VoiceXML documents that are processed by a VoiceXML interpreter
(a.k.a. browser) which, in turn, drives the media server. VoiceXML is popular
for Interactive Voice Response (IVR) applications because it defines a simple
yet powerful high-level programming language.
Two additional media control interfaces attracting interest for next-generation
media servers are the Media Sessions Markup Language (MSML) [10] and Media
Objects Markup Language (MOML) [11]. MSML and MOML are Internet drafts
submitted to the SIPPING work group of the IETF. MSML/MOML are XML-based
interfaces that, while capable of standing on their own, are designed to
complement one another. In contrast to VoiceXML, which presents a high-level
language, MSML/MOML defines a framework for describing a wide range of media
functions in an extensible manner. Besides offering rich semantics, MSML/MOML
is attractive for use by next-generation media servers because it is designed
to be compatible with SIP. The downside of MSML and MOML is that they are not
yet recognized as standards and are still relatively immature.
Another notable media control interface is Intel's R4 "C" language
APIs. The R4 APIs have been a staple of computer telephony applications
programming for over 10 years. They are supported on Intel media processing
technology boards as well as Intel NetStructure Host Media Processing Software.
All of the interfaces described above can be used with Intel-based media
servers. Some, such as VoiceXML, can be acquired through third parties, while
others are directly available from Intel. In the following sections we discuss
Intel NetStructure Host Media Processing Software and the R4 APIs. We
demonstrate how to implement a simple media service application that will run
on media servers built using HMP software.
|