apis for next-generation service creation jonathan rosenberg chief scientist
TRANSCRIPT
APIs for Next-Generation Service Creation
Jonathan RosenbergChief Scientist
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
Voice Over IP Today
Toll-bypass has Been the Primary Motivation Cheap long distance Service transparency
Cost Differentials are Rapidly Disappearing Retail long distance is now at 4 cents a minute Carriers are exploring flat rate plans
Service Transparency is Far Away QoS issues 911, 1000 features in the 5ESS Huge existing penetration of the phone in the US and worldwide
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
The Question of Customer Value
If IP Telephony Service is Not Cheaper, Better or Different,
Why Purchase It?
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
The Answer
IP Telephony Enables Innovative New Services Created by Combining Applications Web Email Chat Presence
The Killer App for VoIP Lives Within
These Combined Services
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
Combined Services Enable Service Provider Differentiation
Integrating Applications Yields Exponential Services Growth
Service Provider Differentiation Flows Naturally from this Applications Diversity
Combined Services
VoiceVoice +Web
Voice +Web +Email
Voice +Web +Email +Presence
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
Web Interactive Voice Response (Web IVR)
IVR Woes Difficult to navigate Inconsistent menu operations Slow to use
Big Idea Web a natural medium!
How Does It Work If a call to some number is
from a PC, after hours, the user is returned a web page
If the call is from a phone connected to a gateway, they are connected to a normal voice system
INVITEHTTP
Web Content
Web IVR Service
INVITE
VoiceXML
Gateway
PSTN
Phone
PC Web Server
200 OK
200 OK
300 Go Web
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
How to Build These Services?
Need APIs That Provide Access to SIP Specific Constructs Many combined services rely on SIP support for MIME, URLs, etc.
Web IVR requires setting of the Contact header to an HTTP URL Auto Conference requires SIP IMs to contain HTTP URLs
Signaling protocol independent APIs won’t work Parlay JTAPI
“The call” is not the central feature of the application any longer State machine exists at a higher level Call machine not important
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
How to Build These Services?
Leverage the Vast Web Developer Community Web developers to telecom developers is 100:1 Every graduate CS student has done some web programming, almost
none do telecom programming Innovation will come from two guys in a garage
How to Leverage Them? Provide APIs similar to ones they already know
Servlets, JSP, CGI, XML
APIs shouldn’t require telecom training or background Open, widely available Free servers for trial Books, magazines, developer communities
Business Models Have an Implication Too!
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
Changes In Web Business Models
Best-in-class companies have emerged at every layer of the business model
Applications
Transport
AOLCompuServe
Prodigy
ASPsApplications
& Hosting
Backbone ISP
Yahoo
UUNET
Hosting Companies
ASPs
Application Developers
Application PlatformsBEA WebLogic IBM WebSphere
Ecommerce.com
Accenture
Exodus
Backbone ISP
UUNET
ASPs
Amazon.com
Exodus
Hosting Companies
Backbone ISP
UUNET
VerticalMonolith
RelentlessSpecialization
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
Changes In Telco Business Models
Applications
Transport
AT&T
CommunicationsASPs
Applications & Hosting
ConvergedCarriers
DialpadWebley
Level (3)
Genuity
VerticalMonolith
RelentlessSpecialization
CommunicationsASPs
Hosting Companies
ConvergedCarriers
Level (3)
Genuity
Hosting Companies
CommunicationsASPs
Application Developers
Application Platforms
Converged CarriersLevel (3)
Genuity
What were once “Voice Services” are now split between converged applications and converged networks
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
How to Build These Services?
Follow the business models as well! Relentless specialization
Benefits Rapid time-to-market Reduced costs Focus, focus, focus
API Implications APIs must support separation of developer and hoster
Servlets!
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
HTTP Servlets HTTP Java Servlets Widely Used in Web
Application Development
Applications Consist of Sets of HTTP Servlets, Each of Which Processes a Single Web Request in the Application
HTTP Servlets Return Web Pages to Display
HTTP Servlets Can Create “Session Data” e.g., shopping cart, that spans multiple
requests
“Container” Manages HTTP Servlet Lifecycles, Fault Tolerance, Session State
HTTP Servlets Collected into a War File – Web Archive
HTTP Servlets
Web Server
Developer
Deployer
War File
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
SIP Servlets Direct Application of HTTP
Servlet Model to SIP
Java-based API
Telecommunications application is a set of SIP (and HTTP!) servlets
SIP servlets process a particular SIP request or response
SIP servlets can create and access session data, call data, transaction data
SIP servlet container provides same functions as http container
CAR file equivalent of WAR file
SIP Servlets Car File
SIP Server
Developer
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
SIP Servlet Benefits Exposes key SIP headers,
but handles most of the SIP details for you
Supports Sending responses Proxying requests Initiating requests
Allows proxy, B2BUA applications
Calls, legs, transactions are modeled – similar in concept to HTTP Sessions
Inherits all scale and fault tolerance benefits of HTTP Servlets
public class MyServlet extends SipServlet{ public void doInvite(SipServletRequest req, SipServletResponse res) { req.getProxy(true).proxy(“sip:user@host”); }}
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
Call Processing Language (CPL) Output of IETF IPTEL
Group, Under IESG Review Now
A Scripting Language to Describe Call Services
Language Properties Guarantee Safety
Based on XML
Hand or Tool Authoring
Example: “Call Forward on Busy/No-answer”
Can Be Dynamically Uploaded and Instantiated by Third-parties
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE cpl SYSTEM "cpl.dtd"><cpl> <location url="sip:[email protected]"> <proxy timeout="8s"> <busy> <location url="sip:[email protected]”> <proxy /> </location> </busy> <noanswer> <location url="sip:[email protected]”> <proxy /> </noanswer> </proxy> </location></cpl>
www.dynamicsoft.comSIP 2001 2.23.01APIs for Next-Generation Service Creation
Common Gateway Interface (CGI) HTTP CGI Widely Used in Web
Servers
Predates Servlets
Similar Model to Servlets
Primary Differences Web server spawns a separate
process to handle request Request data passed through
environment variables Web page returned by script by
writing to standard out (stdout) – i.e., printf
Script can be written in any language
Big process overhead
SIP CGI is Direct Equivalent to HTTP CGI, Just as SIP Servlets are Direct Equivalent to HTTP Servlets
SIP CGI Properties Scripts invoked on requests and
responses Scripts can output response to
send and also cause requests to be proxied
Same flexibility/overhead as HTTP CGI
Approved as Informational RFC 3050 by IETF
Information Resource Jonathan RosenbergChief Scientist+1 973.952.5000 [email protected]