sip vs. api how will you be developing your next application? (sip-01)
TRANSCRIPT
![Page 1: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/1.jpg)
![Page 2: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/2.jpg)
SIP vs. APIHow Will You Be Developing Your Next
Application?(SIP-01)
![Page 3: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/3.jpg)
3
Competing methods
![Page 4: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/4.jpg)
4
Drivers
Hardware
NETANN
Development Building Blocks
Your Application
Compiled XML Graphical
C/C++ Java VoiceXML
API
SIP
MSCML MSML/MOML
![Page 5: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/5.jpg)
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.
![Page 6: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/6.jpg)
6
Legacy API Architecture
Application
API
Device Driver
T1 InterfaceHardware
API
Device Driver
ResourceHardware
PSTN
H.100
Proprietary
Proprietary
Proprietary
Proprietary
![Page 7: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/7.jpg)
7
API Development
Key Attributes:• Powerful• Feature Rich• Highly Efficient• Highly Complex• Slow to Develop• Hard to Debug• Proprietary (mostly)
![Page 8: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/8.jpg)
8
Drivers
Hardware
NETANN
Development Building Blocks
Your Application
Compiled XML Graphical
C/C++ Java VoiceXML
API
SIP
MSCML MSML/MOML
![Page 9: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/9.jpg)
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).
![Page 10: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/10.jpg)
10
SIP – Where does it fit?
RTP SIPHTTPSMTPL5
TCP UDP
IP
Ethernet PPP
Copper Fiber Wireless
L4
L3
L2
L1
![Page 11: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/11.jpg)
11
SIP Development
Key Attributes:• Open• Standard• Interoperable• Easy to Debug• Inefficient• Moving Target• Slow to evolve
![Page 12: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/12.jpg)
12
SIP Architecture
Service CreationEnvironment
SIP Protocol Stack
MediaGatewayResource
MediaResource
LAN
SIP
PSTN
Application
![Page 13: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/13.jpg)
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
![Page 14: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/14.jpg)
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!
![Page 15: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/15.jpg)
15
Drivers
Hardware
NETANN
Development Building Blocks
Your Application
Compiled XML Graphical
C/C++ Java VoiceXML
API
SIP
MSCML MSML/MOML
![Page 16: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/16.jpg)
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.
![Page 17: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/17.jpg)
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
![Page 18: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/18.jpg)
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>
![Page 19: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/19.jpg)
19
MSCML Conferencing – Create
![Page 20: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/20.jpg)
20
MSCML Conferencing – Play
![Page 21: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/21.jpg)
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)
![Page 22: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/22.jpg)
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
![Page 23: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/23.jpg)
23
Who supports what?
MSCML / NetAnn MSML / MOML
![Page 24: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/24.jpg)
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.
![Page 25: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/25.jpg)
25
Will we need APIs and SIP?
![Page 26: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/26.jpg)
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
![Page 27: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/27.jpg)
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
![Page 28: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/28.jpg)
28
Questions?
?
![Page 29: SIP vs. API How Will You Be Developing Your Next Application? (SIP-01)](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e4e5503460f94b44976/html5/thumbnails/29.jpg)
29
Booth #115
More information