SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)
-
Upload
barnard-bradford -
Category
Documents
-
view
216 -
download
0
Transcript of SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)
SIP vs. APIHow Will You Be Developing Your Next
Application?(SIP-01)
3
Competing methods
4
Drivers
Hardware
NETANN
Development Building Blocks
Your Application
Compiled XML Graphical
C/C++ Java VoiceXML
API
SIP
MSCML MSML/MOML
5
API – What is it?
If all else fails, refer to Wikipedia:
APIAn 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.
6
Legacy API Architecture
Application
API
Device Driver
T1 InterfaceHardware
API
Device Driver
ResourceHardware
PSTN
H.100
Proprietary
Proprietary
Proprietary
Proprietary
7
API Development
Key Attributes:• Powerful• Feature Rich• Highly Efficient• Highly Complex• Slow to Develop• Hard to Debug• Proprietary (mostly)
8
Drivers
Hardware
NETANN
Development Building Blocks
Your Application
Compiled XML Graphical
C/C++ Java VoiceXML
API
SIP
MSCML MSML/MOML
9
SIP – What is it?
Wikipedia:
SIPThe 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).
10
SIP – Where does it fit?
RTP SIPHTTPSMTPL5
TCP UDP
IP
Ethernet PPP
Copper Fiber Wireless
L4
L3
L2
L1
11
SIP Development
Key Attributes:• Open• Standard• Interoperable• Easy to Debug• Inefficient• Moving Target• Slow to evolve
12
SIP Architecture
Service CreationEnvironment
SIP Protocol Stack
MediaGatewayResource
MediaResource
LAN
SIP
PSTN
Application
13
Two 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
14
Speeds Development Time
PCI
SIP
IntegrationTime inMan-Years
1
2
3 Customer A:Just over 3 Man-years to integrate and test with a Legacy PCI
BladeSame customer using SIP based hardware,
88% less time to market!
15
Drivers
Hardware
NETANN
Development Building Blocks
Your Application
Compiled XML Graphical
C/C++ Java VoiceXML
API
SIP
MSCML MSML/MOML
16
NetAnn – What is it?
NetAnn• RFC 4240 as of December of 2005 • Predecessor to MSCML. • Basic announcements• Simpler conference model (no control dialog)• Doesn’t provide for mid-call requests and responses.
17
MSCML – 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
18
MSCML - Sample
Example of a Play command:
<?xml version="1.0" encoding="utf-8"?><MediaServerControl version="1.0"><request><play id="234"><prompt><audio url="http://10.3.0.2/hello.wav"/>
<variable type="date" subtype="ymd" value="19760102"/>
<variable type="silence" value="5"/>
<variable type="duration" value="2"/></prompt></play></request></MediaServerControl>
19
MSCML Conferencing – Create
20
MSCML Conferencing – Play
21
MSML / 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)
22
MSCML 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 what’s 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
23
Who supports what?
MSCML / NetAnn MSML / MOML
24
Media 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.
25
Will we need APIs and SIP?
26
How do they compare
Capability / Feature API SIP+NetAnn SIP+MSCML
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
27
The 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
28
Questions?
?
29
Booth #115
More information