Transcript Slide 1
Web 2.0: The Future of Web
Service Delivery (SP-01)
Mike Chapman
Director of Product Management
Dialogic
Analysts Size Web 2.0 Market Opportunity
• 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)
What Kind of Web Services Require Media Processing?
• 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
Defining Some Terms
•
•
•
•
Application Programming Interface (API)
Web 2.0
Web Services
Telephony and Media Processing
Application Programming Interface (API)
• 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
Web 2.0
• 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 Services
• 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
Telephony and Media Processing
• 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
Audio Media Processing
Video Media Processing
Market Requirements for Web 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
Network-centric versus Web-centric Media Processing
Initiating voice calls from the Web using
network-centric call processing approach
SIP Call Control
App
Server
Media
Gateway
Internet
PSTN
Or
Mobile Network
Cell phone
Media
Server
Voice phone
SIP Media Control
Voice Calls
Network-centric versus Web-centric Media Processing
Initiating voice calls from the Web using
Web-centric call processing approach
HTTP /RESTful API Call & Media Control
Media
Server
Media
Gateway
PSTN
Or
Mobile Network
Cell phone
Internet
Voice phone
Voice Calls
SOLUTION DEPLOYMENT
Traditional 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
Application
Server
Media
Gateway
PSTN
SIP
XML
SIP
RTP
IP Media Server
Web 2.0 Centric Deployment
• 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-centric Deployment
Web
Server
Media
Gateway
PSTN
HTTP
SIP
RTP
Web Media Server
RESTful APIs
• 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 Event Handling
Client
Application
WMS
Thread
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
RESTful Client Side Technologies
• 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
Use Case: Click2Conference
• 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
Web Server
(Social Media Application )
Social Media Site
Servers
http
http
1
http
2
http
Voice or Video Calls
SIP
3
RTP
Voice Calls
Video Gateway
Web Media Server
Click2Conference
• 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 friends
to be called
Click2Conference (cont’d)
• 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 stored
phone numbers
• User presses continue button
to 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
Use Case: Click2Call
• 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
Web Server
(Mapping Software,
Customer Application)
http
1
2
http
http
Voice or Video Call
SIP
3
Voice Call
RTP
Video Gateway
Web Media Server
Click2Call
• User navigates through the customer maps
• Drills down to the desired location
Click2Call (cont’d)
• 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
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