1 / 29

SIP vs. API

SIP vs. API. How Will You Be Developing Your Next Application? (SIP-01). Competing methods. Development Building Blocks. Your Application. Compiled. XML. Graphical. VoiceXML. C/C++. Java. API. NETANN. MSCML. MSML/MOML. Drivers. SIP. Hardware. API – What is it?.

arringtonj
Download Presentation

SIP vs. API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIP vs. API How Will You Be Developing Your Next Application?(SIP-01)

  2. Competing methods

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

  4. API – What is it? If all else fails, refer to Wikipedia: API An application programming interface (API) is a source codeinterface that a computer system or program library provides to support requests for services to be made of it by a computer program.

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

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

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

  8. 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).

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

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

  11. SIP Architecture Application Service CreationEnvironment SIP SIP Protocol Stack LAN Media Gateway Resource MediaResource PSTN

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

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

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

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

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

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

  18. MSCML Conferencing – Create

  19. MSCML Conferencing – Play

  20. 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)

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

  22. Who supports what? MSCML / NetAnn MSML / MOML

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

  24. Will we need APIs and SIP?

  25. How do they compare

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

  27. Questions? ?

  28. More information Booth #115

More Related