Web 2.0: The Future of Web Service Delivery (SP-01)
Mike ChapmanDirector of Product Management
Dialogic
• Enterprise Web 2.0 spending to reach $4.6 billion by 2013(Source: Forrester Research)
• Enterprise Social Networking Market Expected to Reach $2 billion by 2013 (Source: Wainhouse Research)
• Web 2.0 mobile market is $20 billion Worldwide by 2013(Source: Juniper Research)
• Mobile social networking reaches $29 billion by 2012 (Source: Informa)
• Mobile social networking will rise to $17.1 billion in 2013(Source: Strategy Analytics)
Analysts Size Web 2.0 Market Opportunity
• Social networking click-to-call or click-to-video• Voice or video-enabling real-time communications from
text “tweets”• Integration of audio and video for Web-based call center
access• Web-accessible network-based messaging• Video portals• Adult entertainment• Mobile advertising• Location-based services
What Kind of Web Services Require Media Processing?
• Application Programming Interface (API)• Web 2.0• Web Services• Telephony and Media Processing
Defining Some Terms
• An application programming interface – API – is an interface implemented by a software program which enables it to interact with other software components
• The API represents an abstraction of functions/capabilities that are invoked by other components– Software components can be on the same computer or
connected via a remote connection in a network using remote procedure calls (RPC)
– Usage can be interactive user program accessing functions of a component or machine-to-machine (M2M)
– API can represent a generalized set of functions or address a need in an application specific domain
Application Programming Interface (API)
• The second generation of the World Wide Web, especially the movement away from static web pages to dynamic and shareable content and social networking
• A Web 2.0 site allows its users to interact with each other as contributors to the website's content, in contrast to websites where users are limited to the passive viewing of information that is provided to them
• One of the most significant differences between Web 2.0 and the traditional World Wide Web (now referred to as Web 1.0) is greater collaboration among Internet users and other users, content providers, and enterprises
• Representative Web 2.0 technology– Ajax, RSS-generated syndication, wikis
• Examples of Web 2.0 usage include:– Blogging, social bookmarking, mash-ups
Web 2.0
• Web Services are Application Programming Interfaces (API) or Web APIs that are issued to a remote server using the Hypertext Transfer Protocol (HTTP)
• A Web API is typically a defined set of HTTP request messages along with a definition of the structure of response messages– Typically expressed in EXtensible Markup Language (XML) or JavaScript Object
Notation (JSON)• Web APIs
– Web 1.0 & 2.0 – SOAP (RPC)messages embedded in XML documents– Web 2.0 – REST (Representational State Transfer) style communications relying
on HTTP• APIs conforming to the REST constraints are referred to as being ‘RESTful’• REST constraints are “properties” of the REST software architecture
adhered to by the Web
Web Services
• Telephony– The process of establishing real-time audio or video
communications between two callers– Technology components of a call
• Call signaling for call set-up, etc.• Establishing real-time audio & video connections, i.e., media processing
• Media Processing– Streaming of real-time audio & video for 2-way communications
between callers– Processing phone key pad numbers (DTMF) if necessary– Manipulating the stream’s encoded format to bridge different
media types on different call legs– Adding information to video media
Telephony and Media Processing
Audio Media Processing
Video Media Processing
• Very fast time-to-develop– Leverage existing Web development tools
– Easily integrate with existing Web 2.0 applications• Familiarity with API design model
– Stick with proven Web API approaches• Eliminate complexity of traditional telephony
programming– Developer may not be familiar with network-centric telephony model
– Need to take a Web technology point-of-view• Leverage a media processing technology that is
purpose built for integrating telephony with Web applications – Targeted for Web development and usage
Market Requirements for Web Media Processing
Network-centric versus Web-centric Media Processing
Internet
Voice Calls
Initiating voice calls from the Web using network-centric call processing approach
AppServer
Cell phone
Voice phone
SIP Call Control
PSTNOr
Mobile Network
SIP Media Control
MediaServer
MediaGateway
Network-centric versus Web-centric Media Processing
Internet
Voice Calls
Initiating voice calls from the Web using Web-centric call processing approach
Cell phone
Voice phone
PSTNOr
Mobile Network
HTTP /RESTful API Call & Media Control
MediaGateway
MediaServer
SOLUTION DEPLOYMENT
• Traditionally– An application uses SIP, VoiceXML, NetAnn, MSCML, or MSML
to control an IP Media Server and initiate the specific media processing functionality desired
– An active SIP call is required between an IP Media Server and the application server for each remote telephony endpoint that will be transmitting or receiving media to/from an IP Media Server
– This required SIP session serves a dual role• Used by an IP Media Server to create the media stream directly
between an IP Media Server and the remote endpoint• Used by the SIP session as a transport mechanism between the
application server and an IP Media Server for the media control XML language content
Traditional Deployment
Traditional Deployment
IP Media Server
Application Server
PSTNSIP
SIP
XML
RTP
MediaGateway
• Web Media Server provides a Web 2.0 (RESTful) interface for control– Media control interface utilizes HTTP requests and
responses to perform media and call control operations• Web Media Server uses HTTP event streaming
technologies to enable the client to receive asynchronous event notifications
• The Web application does not use SIP call control– Application is not involved in call control signaling– Easier for web developers to use even if they are not
familiar with telephony development
Web 2.0 Centric Deployment
Web-centric Deployment
Web Media Server
WebServer
MediaGateway
PSTN
SIPHTTP
RTP
• REST - REpresentational State Transfer• Requests and responses are built around
the transfer of "representations" of “resources.” Resources accessed through URIs
• REST-style architectures consist of clients and servers– Clients initiate requests to servers– Servers process requests and return appropriate responses
RESTful APIs
• A RESTful web service (also called a RESTful web API) is a simple web service implemented using HTTP and the principles of REST
• Contains following 3 aspects:– Base URI for the web service (Ex: http://example.com/resources/ )– MIME type of the data supported by the web service (Ex: JSON ,
XML)– Set of operations supported by the web service using HTTP
methods• GET - retrieve info about resource(s)• POST - Create a new resource• PUT - Modify existing resource• DELETE - Delete existing resource
RESTful APIs
• But……telephony applications must handle unsolicited events– DTMF digit detection– Play completion events– Conference events
• Unsolicited events or client notifications do not fit well into the HTTP request / response model
• Web Media Server supports event streaming– HTTP event streaming is a mechanism that enables unsolicited events to
be supported• In a normal HTTP interaction, the client sends a request to the server, which
performs its processing actions and send the HTTP response, then the connection between the client and server is closed
• With HTTP event/data streaming, the TCP connection remains open after the response is sent from the server, allowing the server to continue to send raw data to the client without notice
RESTful APIs
RESTful Event Handling
Client Application
WMS
HTTP POST with API specific URI and HTTP body
HTTP 201 Created, with API response details in HTTP body
HTTP Get to retrieve future asynchronous events
200 OK Response, No HTTP Body, TCP connection remains open for supplying future events
Event Data
Event Data
DTMF(s) from caller
DTMF(s) from caller
Thread
• Any language or OS • Must support HTTP and XML processing• Sample development platforms:
– Java – PHP– .NET– Perl– Ruby– etc.
Flexibility to select appropriate client-side platform, based on application needs and developer skill set
RESTful Client Side Technologies
• Social Media Site Click2Conference• Usage Model:– Click2Conference application uses HTTP Post with list of
phone numbers– Web Media Server handles incoming HTTP post requests
to make outbound calls• Call Flow:– Web Media Server makes outbound SIP calls, based on
phone numbers in HTTP request– Participants in the HTTP post request are placed into
same conference
Use Case: Click2Conference
Use Case: Click2Conference
Voice or Video Calls
Voice Calls
SIP
http
RTP
http
http
Web Server(Social Media Application )
Web Media ServerVideo Gateway
1
2
3
Social Media Site Servers
http
• User clicks on Social Media site link– Example: http://apps.socialmediasite.com/
• User’s Social Media contacts are retrieved (with permission) into a list
• User selects the friendsto be called
Click2Conference
• Social Media Site does not provide phone numbers through their API. So…
• User is asked for phone numbers of selected contacts– Phone numbers are stored in
a database– Subsequent requests use storedphone numbers
• User presses continue buttonto create conference
Click2Conference (cont’d)
• The “Continue” button (prev. slide) results in an http POST, with phone numbers submitted to Web Media Server
• Web Media Server initiates outbound SIP calls
• Under the direction of the application, the Web Media Server places the SIP calls’ RTP streams into a conference
Click2Conference (cont’d)
• Mapping Software Click2Call– Customer provides mapping software for many uses• Telecommunications: location of new service
availability• Government/Military: location of nearest
recruiting office• Commercial: store location
– Basic Click2Call application works for any use• Easy to deploy• Increases customer satisfaction and retention
Use Case: Click2Call
• Usage Model:– Click2Call application uses HTTP Post with phone
numbers stored in database and supplied by subscriber
– Web Media Server handles incoming HTTP post requests to make outbound calls
• Call Flow:– Web Media Server makes outbound SIP calls, based
on phone numbers in HTTP request– Participants in the HTTP post request are placed into
same conference
Use Case: Click2Call
Use Case: Click2Call
Voice or Video Call
Voice Call
SIP
http
RTP
http
http
Web Server(Mapping Software,
Customer Application)
Web Media ServerVideo Gateway
1
2
3
• User navigates through the customer maps• Drills down to the desired location
Click2Call
• User enters phone number to be called• Clicks on “Submit” to initiate call• The agency contact information is retrieved and
put into a list along with user’s phone number
Click2Call (cont’d)
• The “Submit” button (prev. slide) results in an http POST, with phone numbers submitted to the Web Media Server
• The Web Media Server initiates outbound SIP calls• Under the direction of the application, Web
Media Server bridges the SIP calls’ RTP streams• User and agency contact are connected– Possible for agency contact to add a subject matter
expert for additional information or immediate inquiry resolution
Click2Call (cont’d)
Summary
• Software-based Web Media Servers enable high value Web-based services
• This market is growing very fast based on industry analyst forecasts
• RESTful API based media processing is the most appropriate for Web application developers– Familiar to developers– Can use existing development platforms to develop
apps– Reduces programming complexity
Contact Information• Mike Chapman– Director of Product Management– Dialogic
• [email protected]• Address– 16 Keewaydin Drive– Salem, NH 03079
• www.dialogic.com