Presentation is loading. Please wait.

Presentation is loading. Please wait.

How Will You Be Developing Your Next Application? (SIP-01)

Similar presentations


Presentation on theme: "How Will You Be Developing Your Next Application? (SIP-01)"— Presentation transcript:

1

2 How Will You Be Developing Your Next Application? (SIP-01)
SIP vs. API The last few years has brought a major change to the way that advanced applications are developed. Developers now have the choice between using standards-based SIP or traditional APIs. No one solution is ideal for every developer as choices about time-to-market versus solution cost must be balanced. By attending this session you will learn about a number of new options developers have when creating their applications, learn about some new protocols and discuss the pros and cons of each in real-world scenarios. 45 minutes How Will You Be Developing Your Next Application? (SIP-01)

3 Competing methods

4 Development Building Blocks
Your Application Compiled XML Graphical C/C++ Java VoiceXML API NETANN MSCML MSML/MOML Drivers SIP Hardware

5 API – 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.

6 Legacy API Architecture
Application Proprietary Proprietary API API Proprietary Proprietary Device Driver Device Driver H.100 T1 Interface Hardware Resource Hardware PSTN

7 API Development Key Attributes: Powerful Feature Rich Highly Efficient
Highly Complex Slow to Develop Hard to Debug Proprietary (mostly)

8 Development Building Blocks
Your Application Compiled XML Graphical C/C++ Java VoiceXML API NETANN MSCML MSML/MOML Drivers SIP Hardware

9 SIP – 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).

10 SIP – Where does it fit? SMTP HTTP RTP SIP TCP UDP IP Ethernet PPP
L5 L4 TCP UDP L3 IP L2 Ethernet PPP Copper Fiber Wireless L1

11 SIP Development Key Attributes: Open Standard Interoperable
Easy to Debug Inefficient Moving Target Slow to evolve

12 Service Creation Environment
SIP Architecture Application Service Creation Environment SIP SIP Protocol Stack LAN Media Gateway Resource Media Resource PSTN

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
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

15 Development Building Blocks
Your Application Compiled XML Graphical C/C++ Java VoiceXML API NETANN MSCML MSML/MOML Drivers SIP Hardware

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=" <variable type="date" subtype="ymd" value=" "/> <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 Industry Standard (RFC?) Basic IVR Complex IVR Mixing/Recording Simple Conference Complex Conference Controls

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 More information Booth #115


Download ppt "How Will You Be Developing Your Next Application? (SIP-01)"

Similar presentations


Ads by Google