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

Preview:

Citation preview

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

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

Recommended