Title: SIP vs. API
1(No Transcript)
2SIP vs. API
- How Will You Be Developing Your Next
Application?(SIP-01)
3Competing methods
4Development Building Blocks
Your Application
Compiled
XML
Graphical
C/C
Java
VoiceXML
NETANN
API
MSCML
MSML/MOML
Drivers
SIP
Hardware
5API What is it?
- If all else fails, refer to Wikipedia
- API
- An application programming interface (API) is a
source code interface that a computer system or
program library provides to support requests for
services to be made of it by a computer program.
6Legacy API Architecture
Application
Proprietary
Proprietary
API
API
Proprietary
Proprietary
Device Driver
Device Driver
H.100
T1 Interface Hardware
Resource Hardware
PSTN
7API Development
- Key Attributes
- Powerful
- Feature Rich
- Highly Efficient
- Highly Complex
- Slow to Develop
- Hard to Debug
- Proprietary (mostly)
8Development Building Blocks
Your Application
Compiled
XML
Graphical
C/C
Java
VoiceXML
NETANN
API
MSCML
MSML/MOML
Drivers
SIP
Hardware
9SIP What is it?
- Wikipedia
- SIP
- The Session Initiation Protocol (SIP) is an
application-layer control (signalling) protocol
for creating, modifying, and terminating sessions
with one or more participants. These sessions
include Internet telephone calls, multimedia
distribution, and multimedia conferences. (cit.
RFC 3261).
10SIP Where does it fit?
RTP
SIP
HTTP
SMTP
L5
TCP
UDP
L4
IP
L3
L2
Ethernet
PPP
Copper
Fiber
Wireless
L1
11SIP Development
- Key Attributes
- Open
- Standard
- Interoperable
- Easy to Debug
- Inefficient
- Moving Target
- Slow to evolve
12SIP Architecture
Application
Service CreationEnvironment
SIP Protocol Stack
SIP
LAN
Media Gateway Resource
MediaResource
PSTN
13Two Classes of Resources
- Media Gateways
- Provide connectivity to existing TDM
infrastructure - 90 of installed base is still TDM
- Media Resources
- IVR Play / Record / DTMF
- Conferencing
- Fax
- Tone Detection/Generation
- Announcements
- Transcoding
14Speeds Development Time
Customer A Just over 3 Man-years to integrate
and test with a Legacy PCI Blade
3
PCI
Same customer using SIP based hardware, 88 less
time to market!
2
Integration Time in Man-Years
1
SIP
15Development Building Blocks
Your Application
Compiled
XML
Graphical
C/C
Java
VoiceXML
NETANN
API
MSCML
MSML/MOML
Drivers
SIP
Hardware
16NetAnn What is it?
- NetAnn
- RFC 4240 as of December of 2005
- Predecessor to MSCML.
- Basic announcements
- Simpler conference model (no control dialog)
- Doesnt provide for mid-call requests and
responses.
17MSCML What is it?
- MSCML Media Server Control Markup Language
- RFC 4722 in November 2006
- Provides services to users at an application
level - Services specified in user part of URI.
- For example Conf service implies a star
connection topology with a mixer at the center,
or PlayCollect connects a player and a
dtmf-receiver to the call - Conf, IVR (Play, PlayCollect, PlayRecord,
FaxPlay, FaxRecord) - Command oriented protocol (vs scripted)
- MSCML IVR syntax is modeled on the H.248 and MGCP
- Includes the composite PlayCollect and PlayRecord
functions
18MSCML - Sample
- Example of a Play command
- lt?xml version"1.0" encoding"utf-8"?gt
- ltMediaServerControl version"1.0"gt
- ltrequestgt
- ltplay id"234"gt
- ltpromptgt
- ltaudio url"http//10.3.0.2/hello.wav"/gt
- ltvariable type"date" subtype"ymd"
value"19760102"/gt - ltvariable type"silence" value"5"/gt
- ltvariable type"duration" value"2"/gt
- lt/promptgt
- lt/playgt
- lt/requestgt
- lt/MediaServerControlgt
19MSCML Conferencing Create
20MSCML Conferencing Play
21MSML / MOML What is it?
- MSML Media Sessions Markup Language
- Device Control Protocol that focuses on internal
media server resources - SIP is normally concerned with the behavior
external to the media server - Provides a mechanism for invoking MOML or VXML
scripts. - Provides a mechanism for creating conferences and
modifying their topologies. - Does not provide for IVR control
- MOML Media Objects Markup Language
- MOML is a scripting languages that provides a
defined set of useful IVR primitives play,
generate dtmf, recognize dtmf, record, recognize
speech, and others - Primitives can be combined into groups, and
multiple groups can be established concurrently.
Lots of flexibility at the cost of complexity - It is a scripting language with an internal state
machine, but only 2 primitives have state, and
they only have 2 states (stop/go). - Absence of flow control limits scripts to
functions rather than applications (eg VXML) - IETF Draft (no RFC)
22MSCML vs MSML/MOML
- Application Level Services vs Device Control
- MSML provides explicit internal connection
topology. - MSCML provides predefined services with implicit
internal connection topologies - Provides a less complex interface for 99 of
whats required. - Scripting
- MOML provides a script execution capability to
build composite functions. - State Machines within primitives are so limited
as to be of little general use. - Requires a script execution framework.
- MSCML provides defined composite functions
- For example PlayCollect/Record provide
integration between the Play and the
Collect/Record functions. Much simpler for 99
of use cases - No script engine required provides performance
advantages as well as simplicity
23Who supports what?
MSCML / NetAnn
MSML / MOML
24Media Control -Bottom Line
- Neither MSCML nor MSML/MOML are likely to be the
Final Answer. - Both rely on INFO messages which the IETF SIP
arbiters do not like - Both will allow you to do what you need to get
done - MSCML is our favorite
- Greater standards coverage (RFC vs not RFC)
- Easier to use (Operates at application level vs
device control) - More widely adopted
- Better adapted to 3GPP MRF (IVR mapping to H.248
used in MRFC-to-MRFP) - Discussion is carried out in the mediactrl -
Media Control BOF Discussion List - Final Answer likely 2 to 3 years out.
25Will we need APIs and SIP?
26How do they compare
Capability / Feature API SIPNetAnn SIPMSCML
TDM Bus Switching (H.100) Yes No No
Industry Standard (RFC?) No Yes Yes
Basic IVR Yes Yes Yes
Complex IVR Yes No Yes
Mixing/Recording Yes No No
Simple Conference Yes Yes Yes
Complex Conference Controls Yes No Yes
27The Future
- Expect many new applications to leverage SIP
- With one of the media server control protocols
- APIs will continue, but only for very complex
apps. - Secret our SIP and MSCML uses our API under the
covers! - Expect continued refinement
- of SIP and related media server protocols
28Questions?
?
29More information
Booth 115