370 likes | 381 Views
Explore the growing market opportunities and the role of media processing in web services. Discover the potential of social networking, mobile advertising, and location-based services. Learn about APIs, Web 2.0, web services, and telephony and media processing APIs.
E N D
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
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 MediaGateway AppServer MediaServer SIP Call Control PSTN Or Mobile Network Cell phone Internet 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 MediaGateway MediaServer HTTP /RESTful API Call & Media Control PSTN Or Mobile Network Cell phone Internet Voice phone Voice Calls
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 MediaGateway 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 MediaGateway 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 WMS Client Application 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 DTMF(s) from caller Event Data DTMF(s) from caller Event Data
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 Servermakes 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 Web Media Server Video Gateway
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 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 Serverinitiates outbound SIP calls • Under the direction of the application, the Web Media Serverplaces 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) 1 http 2 http http Voice or Video Call SIP 3 RTP Voice Call 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 • michael.chapman@dialogic.com • Address • 16 Keewaydin Drive • Salem, NH 03079 • www.dialogic.com